东北大学matlab上机作业综述.docx
《东北大学matlab上机作业综述.docx》由会员分享,可在线阅读,更多相关《东北大学matlab上机作业综述.docx(28页珍藏版)》请在冰豆网上搜索。
东北大学matlab上机作业综述
1、安装MATLAB软件,应用demo命令了解主要功能,熟悉基本功能,会用help命令。
2、用MATLAB语句输入矩阵
和
,
前面给出的是
矩阵,如果给出
命令将得出什么结果?
解:
>>A=[1,2,3,4;4,3,2,1;2,3,4,1;3,2,4,1]
A=
1234
4321
2341
3241
>>B=[1+4j,2+3j,3+2j,4+1j;4+1j,3+2j,2+3j,1+4j;2+3j,3+2j,4+1j,1+4j;3+2j,2+3j,4+1j,1+4j;]
B=
1.0000+4.0000i2.0000+3.0000i3.0000+2.0000i4.0000+1.0000i
4.0000+1.0000i3.0000+2.0000i2.0000+3.0000i1.0000+4.0000i
2.0000+3.0000i3.0000+2.0000i4.0000+1.0000i1.0000+4.0000i
3.0000+2.0000i2.0000+3.0000i4.0000+1.0000i1.0000+4.0000i
>>A(5,6)=5
A=
123400
432100
234100
324100
000005
3、假设已知矩阵
,试给出相应的MATLAB命令,将其全部偶数行提取出来,赋给
矩阵,用
命令生成
矩阵,用上述命令检验一下结果是不是正确。
解:
>>A=magic(8)
A=
642361606757
955541213515016
1747462021434224
4026273736303133
3234352928383925
4123224445191848
4915145253111056
858595462631
>>B=A(2:
2:
end,:
)
B=
955541213515016
4026273736303133
4123224445191848
858595462631
4、用数值方法可以求出
,试不采用循环的形式求出和式的数值解。
由于数值方法是采用double形式进行计算的,难以保证有效位数字,所以结果不一定精确。
试采用运算的方法求该和式的精确值。
解:
>>sum(sym
(2).^[1:
63])
ans=
184********709551614
5、选择合适的步距绘制出下面的图形。
(1)
,其中
;
(2)
,其中
。
解:
(1)t=-1:
0.03:
1;y=sin(1./t);plot(t,y)
(2)x=[-pi:
0.05:
-1.8,_1.799:
.001:
-1.2,-1.2:
0.05:
1.2,1.201:
0.001:
1.8,1.81:
0.05:
pi];y=sin(tan(x))-tan(sin(x));plot(x,y)
6、试绘制出二元函数
的三维图和三视图。
解:
xx=[-2:
.1:
-1.2,-1.1:
0.02:
-0.9,-0.8:
0.1:
0.8,0.9:
0.02:
1.1,1.2:
0.1:
2];yy=[-1:
0.1:
-0.2,-0.1:
0.02:
0.1,0.2:
.1:
1];[x,y]=meshgrid(xx,yy);z=1./(sqrt((1-x).^2+y.^2))+1./(sqrt((1+x).^2+y.^2));surf(x,y,z),shadingflat;zlim([0,15])
[x,y]=meshgrid(-2:
.1:
2);z=1./(sqrt((1-x).^2+y.^2));subplot(221),surf(x,y,z),view(0,90);subplot(222),surf(x,y,z),view(90,0);subplot(223),surf(x,y,z),view(0,0);
7、试求出如下极限。
(1)
;
(2)
;(3)
。
解:
(1)symsx;f=(3^x+9^x)^(1/x);limit(f,x,inf)
ans=
9
(2)symsxy;fb=x*y/(sqrt(x*y+1)-1);limit(limit(fb,x,0),y,0)
ans=
2
(3)symsxy;fc=(1-cos(x^2+y^2))*exp(x^2+y^2)/(x^2+y^2);limit(limit(fc,x,0),y,0)
ans=
0
8、已知参数方程
,试求出
和
。
解:
>>symst;x=log(cos(t));y=cos(t)-t*sin(t);diff(y,t)/diff(x,t)
ans=
-(-2*sin(t)-t*cos(t))/sin(t)*cos(t)
>>f=diff(y,t,2)/diff(x,t,2);subs(f,t,sym(pi)/3)
ans=
3/8-1/24*pi*3^(1/2)
9、假设
,试求
。
解:
symsxyt
f=int(exp(-t^2),t,0,x*y);
x/y*diff(f,x,2)-2*diff(diff(f,x),y)+diff(f,y,2)
simple(ans)
ans=
2*x^2*y^2*exp(-x^2*y^2)-2*exp(-x^2*y^2)-2*x^3*y*exp(-x^2*y^2)
10、试求出下面的极限。
(1)
;
(2)
。
解:
(1)symskn;symsum(1/((2*k)^2-1),k,1,inf)
ans=
1/2
(2)>>symskn
limit(n*symsum(1/(n^2+k*pi),k,1,n),n,inf)
ans=
1
11、试求出以下的曲线积分。
(1)
,
为曲线
,
,
。
(2)
,其中
为
正向上半椭圆。
解:
(1)>>symsat;x=a*(cos(t)+t*sin(t));y=a*(sin(t)-t*cos(t));
f=x^2+y^2;I=int(f*sqrt(diff(x,t)^2+diff(y,t)^2),t,0,2*pi)
I=
2*a^2*pi^2*(a^2)^(1/2)+4*a^2*pi^4*(a^2)^(1/2)
(2)>>symsxyabct;x=c*cos(t)/a;y=c*sin(t)/b;
P=y*x^3+exp(y);Q=x*y^3+x*exp(y)-2*y;
ds=[diff(x,t);diff(y,t)];I=int([PQ]*ds,t,0,pi)
I=
-2/15*c*(-2*c^4+15*b^4)/a/b^4
12、试求出Vandermonde矩阵
的行列式,并以最简的形式显示结果。
解:
>symsabcde;A=[a^4a^3a^2a1;b^4b^3b^2b1;c^4c^3c^2c1;d^4d^3d^2d1;e^4e^3e^2e1];simple(det(A))
(c-d)*(b-d)*(b-c)*(a-d)*(a-c)*(a-b)*(-d+e)*(e-c)*(e-b)*(e-a)
ans=
(c-d)*(b-d)*(b-c)*(a-d)*(a-c)*(a-b)*(-d+e)*(e-c)*(e-b)*(e-a)
13、试对矩阵
进行Jordan变换,并得出变换矩阵。
解:
>>A=[-2,0.5,-0.5,0.5;0,-1.5,0.5,-0.5;2,0.5,-4.5,0.5;2,1,-2,-2];
[VJ]=jordan(sym(A))
V=
[0,1/2,1/2,-1/4]
[0,0,1/2,1]
[1/4,1/2,1/2,-1/4]
[1/4,1/2,1,-1/4]
J=
[-4,0,0,0]
[0,-2,1,0]
[0,0,-2,1]
[0,0,0,-2]
14、试用数值方法和解析方法求取下面的Sylvester方程,并验证得出的结果。
解:
A=[3,-6,-4,0,5;1,4,2,-2,4;-6,3,-6,7,3;-13,10,0,-11,0;0,4,0,3,4];
B=[3,-2,1;-2,-9,2;-2,-1,9];
C=[-2,1,-1;4,1,2;5,-6,1;6,-4,-4;-6,6,-3];
X=lyap(A,B,C)
X=
-4.0569-14.51281.5653
0.035625.0743-2.7408
9.488625.9323-4.4177
2.696921.6450-2.8851
7.722931.9100-3.7634
>>norm(A*X+X*B+C)
ans=
3.9870e-013
15、假设已知矩阵
如下,试求出
,
,
。
解:
A=[-4.5,0,0.5,-1.5;-0.5,-4,0.5,-0.5;1.5,1,-2.5,1.5;0,-1,-1,-3];
A=sym(A);symst;
expm(A*t)
ans=
[1/2*exp(-3*t)-1/2*t*exp(-3*t)+1/2*exp(-5*t)+1/2*t^2*exp(-3*t),1/2*exp(-5*t)-1/2*exp(-3*t)+t*exp(-3*t),1/2*t*exp(-3*t)+1/2*t^2*exp(-3*t),1/2*exp(-5*t)-1/2*exp(-3*t)-1/2*t*exp(-3*t)+1/2*t^2*exp(-3*t)]
[1/2*t*exp(-3*t)+1/2*exp(-5*t)-1/2*exp(-3*t),1/2*exp(-3*t)+1/2*exp(-5*t),1/2*t*exp(-3*t),1/2*t*exp(-3*t)+1/2*exp(-5*t)-1/2*exp(-3*t)]
[1/2*t*exp(-3*t)-1/2*exp(-5*t)+1/2*exp(-3*t),-1/2*exp(-5*t)+1/2*exp(-3*t),exp(-3*t)+1/2*t*exp(-3*t),1/2*t*exp(-3*t)-1/2*exp(-5*t)+1/2*exp(-3*t)]
[-1/2*t^2*exp(-3*t)
第二部分数学问题求解与数据处理(4学时)
主要内容:
掌握代数方程与最优化问题、微分方程问题、数据处理问题的MATLAB求解方法。
练习题:
1、对下列的函数
进行Laplace变换。
(1)
;
(2)
;(3)
。
解:
(1)symsat;f=sin(a*t)/t;laplace(f)
ans=
atan(a/s)
>>
(2)symsta;f=t^5*sin(a*t);laplace(f)
ans=
60*i*(-1/(s-i*a)^6+1/(s+i*a)^6)
>>(3)symsta;f=t^8*cos(a*t);laplace(f)
ans=
20160/(s-i*a)^9+20160/(s+i*a)^9
2、对下面的
式进行Laplace反变换。
(1)
;
(2)
;(3)
。
解:
(1)>>symssab;F=1/(s^2*(s^2-a^2)*(s+b));ilaplace(F)
ans=
1/2/a^3/b^2/(a^2-b^2)*(2*t*a*b^3+2*(-exp(-b*t)-b*t+1)*a^3+(-2*a+(a+b)*exp(-a*t)+(a-b)*exp(a*t))*b^2)
(2)>>symssab;F=sqrt(s-a)-sqrt(s-b);ilaplace(F)
ans=
1/2/t^(3/2)/pi^(1/2)*(exp(b*t)-exp(a*t))
(3)>>symsabs;F=log((s-a)/(s-b));ilaplace(F)
ans=
(exp(b*t)-exp(a*t))/t
3、试求出下面函数的Fourier变换,对得出的结果再进行Fourier反变换,观察是否能得出原来函数。
(1)
;
(2)
。
解:
(1)>>symsx;f=x^2*(3*sym(pi)-2*abs(x));F=fourier(f)
F=
-6*(pi^2*dirac(2,w)*w^4+4)/w^4
>>ifourier(F)
ans=
x^2*(-4*x*heaviside(x)+3*pi+2*x)
(2)>>symst;f=t^2*(t-2*sym(pi))^2;F=fourier(f)
F=
2*pi*(4*i*pi*dirac(3,w)+dirac(4,w)-4*pi^2*dirac(2,w))
>>ifourier(F)
ans=
x^2*(-2*pi+x)^2
4、请将下述时域序列函数
进行Z变换,并对结果进行反变换检验。
(1)
;
(2)
;(3)
。
解:
(1)>>symskaT;f=cos(k*a*T);F=ztrans(f)
F=
(z-cos(a*T))*z/(z^2-2*z*cos(a*T)+1)
>>f1=iztrans(F)
f1=
cos(a*T*n)
(2)>>symskTa;f=(k*T)^2*exp(-a*k*T);F=ztrans(f)
F=
T^2*z*exp(-a*T)*(z+exp(-a*T))/(z-exp(-a*T))^3
>>f1=iztrans(F)
f1=
T^2*(1/exp(a*T))^n*n^2
(3)>>symsakT;f=(a*k*T-1+exp(-a*k*T))/a;F=ztrans(f)
F=
1/a*(a*T*z/(z-1)^2-z/(z-1)+z/exp(-a*T)/(z/exp(-a*T)-1))
>>iztrans(F)
ans=
(a*T*n+(1/exp(a*T))^n-1)/a
5、用数值求解函数求解下述一元和二元方程的根,并对得出的结果进行检验。
(1)
;
(2)
。
解:
(1)>>symsx;x1=solve('exp(-(x+1)^2+pi/2)*sin(5*x+2)')
x1=
-2/5
>>subs('exp(-(x+1)^2+pi/2)*sin(5*x+2)',x,x1)
ans=
0
>>f=inline('exp(-(x+1).^2+pi/2).*sin(5*x+2)','x');
x2=fsolve(f,0)
Optimizationterminated:
first-orderoptimalityislessthanoptions.TolFun.
x2=
0.2283
>>subs('exp(-(x+1)^2+pi/2)*sin(5*x+2)',x,x2)
ans=
4.7509e-008
>>x3=fsolve(f,-1)
Optimizationterminated:
first-orderoptimalityislessthanoptions.TolFun.
x3=
-1.0283
>>subs('exp(-(x+1)^2+pi/2)*sin(5*x+2)',x,x3)
ans=
-5.8864e-016
>>x4=fsolve(f,4)
Optimizationterminated:
first-orderoptimalityislessthanoptions.TolFun.
x4=
4
>>subs('exp(-(x+1)^2+pi/2)*sin(5*x+2)',x,x4)
ans=
-5.9134e-013
(2)>>symsx;y1=solve('(x^2+y^2+x*y)*exp(-x^2-y^2-x*y)=0','y')
y1=
(-1/2+1/2*i*3^(1/2))*x
(-1/2-1/2*i*3^(1/2))*x
>>y2=simple(subs('(x^2+y^2+x*y)*exp(-x^2-y^2-x*y)','y',y1))
y2=
0
0
6、>>symsxc;y=int((exp(x)-c*x)^2,x,0,1)
y=
-1/2-2*c+1/2*exp
(2)+1/3*c^2
>>edit
functiony=exc6ff(c)
y=1/2*exp
(1)^2+1/3*c^2-1/2-2*c;
>>x=fminsearch('exc6ff',0)
x=
3.0000
>>ezplot(y,[0,5])
7、试求解下面的非线性规划问题。
解:
>>edit
functiony=exc6fun6(x)
y=exp(x
(1))*(4*x
(1)^2+2*x
(2)^2+4*x
(1)*x
(2)+2*x
(2)+1);
>>A=[];B=[];Aeq=[];Beq=[];xm=[-10;-10];xM=[10;10];
x0=(xm+xM)/2;
ff=optimset;ff.TolX=1e-10;ff.TolFun=1e-20;
x=fmincon('exc6fun6',x0,A,B,Aeq,Beq,xm,xM,'exc6fun6a',ff)
Maximumnumberoffunctionevaluationsexceeded;
>Infminconat274
Maximumnumberoffunctionevaluationsexceeded;
increaseOPTIONS.MaxFunEvals.
x=
0.4195
0.4195
i=1;x=x0;
while
(1)
[x,a,b]=fmincon('exc6fun6',x,A,B,Aeq,Beq,xm,xM,'exc6fun6a',ff);
ifb>0,break;end
i=i+1;
end
x=
1.1825
-1.7398
i=
5
8、求解下面的整数线性规划问题。
解:
9、symsx
y=dsolve('D2y-(2-1/x)*Dy+(1-1/x)*y=x^2*exp(-5*x)','x')
y=
exp(x)*C2+exp(x)*log(x)*C1+1/216*Ei(1,6*x)*exp(x)+11/1296*exp(-5*x)+5/216*exp(-5*x)*x+1/36*x^2*exp(-5*x)
10、>>symst;
x=dsolve('D2x+2*t*Dx+t^2*x=t+1')
x=
exp(t-1/2*t^2)*C2+exp(-t-1/2*t^2)*C1-1/2*i*pi^(1/2)*2^(1/2)*erf(1/2*i*2^(1/2)*(-1+t))*exp(-1/2+t-1/2*t^2)
>>symsx
y=dsolve('Dy+2*x*y=x*exp(-x^2)','x')
y=
1/2*(x^2+2*C1)*exp(-x^2)
>>symst;y=dsolve('D3y+3*D2y+3*Dy+y=exp(-t)*sin(t)')
y=
exp(-t)*(cos(t)+C1+C2*t+C3*t^2)
11、>>f=inline('[-x
(2)-x(3);x
(1)+a*x
(2);b+(x
(1)-c)*x(3)]',...
't','x','flag','a','b','c');[t,x]=ode45(f,[0,100],[0;0;0],[],0.2,0.2,5.7);
plot3(x(:
1),x(:
2),x(:
3));grid
改变参数
>>[t,x]=ode45(f,[0,100],[0;0;0],[],0.2,0.5,10);
plot3(x(:
1),x(:
2),x(:
3));grid
12、.选择x1=x;x2=x0;x3=y;x4=y0;x5=y00,则可以将原来的微分方程组转换
成下面的一阶微分方程组
x_1=x2
x_2=-x1-x3-(3x2)2+(x4)3+6x5+2t
x_3=x4
x_4=x5
x_5=-x5-x2-(e-x1)-t
且x
(1)=[2;-4;-2;7;6]T
>>f=inline(['[x
(2);-x
(1)-x(3)-(3*x
(2))^2+(x(4))^3+6*x(5)+2*t;',...
'x(4);x(5);-x(5)-x
(2)-exp(-x
(1))-t]'],'t','x');
[t1,x1]=ode45(f,[1,0],[2,-4,-2,7,6]');
[t2,x2]=ode45(f,[1,2],[2,-4,-2,7,6]');
t=[t1(end:
-1:
1);t2];x=[x1(end:
-1:
1,:
);x2];
plot(t,x)
figure;plot(x(:
1),x(:
3))
时间曲线
相平面曲线
14、>>t=0:
0.2:
2;
y=t.^2.*exp(-5*t).*sin(t);plot(t,y,'o')
>>t=0:
0.2:
2;
y=t.^2.*exp(-5*t).*sin(t);plot(t,y,'o')
>>ezplot('t.^2.*exp(-5*t).*sin(t)',[0,2]);holdon
x1=0:
0.01:
2;y1=in