赵俊杰Matlab报告终极版.docx
《赵俊杰Matlab报告终极版.docx》由会员分享,可在线阅读,更多相关《赵俊杰Matlab报告终极版.docx(22页珍藏版)》请在冰豆网上搜索。
赵俊杰Matlab报告终极版
沈阳航空航天大学自动化学院
Matlab语言应用技能训练
(实验报告)
班级04070301
学号2010040703027
学生姓名赵俊杰
指导教师许谨、李化鹏
Matlab语言应用技能训练实验报告
一、实验目的
为了更好地理解高等数学的应用价值,培养数学学习的兴趣,提高学生利用计算机进行探究的综合能力,综合运用高等数学和计算机程序设计和专业知识,结合本专业特点和研究方向,开展的实验活动。
提出了科学性、系统性、细致性和创新性等指标,作为实验的评价标准。
二、实验要求
所有运算都以M文件程序方式给出;每位同学设定的数据不能相同;程序有注释。
为以下题目画出程序流程并编写运行程序,附运行结果。
1.矩阵的建立和基本运算
题目:
1.将矩阵A和B输入到MATLAB环境中,并将他们转换生成符号矩阵。
利用MATLAB语言提供的现成函数对A、B两个矩阵进行分析,判定它们是否为奇异阵,得出矩阵的秩,行列式,迹和逆矩阵,检验出逆矩阵是否正确。
(矩阵A和B自己设定,不能相同,矩阵至少3阶)。
程序:
A=[4312;1234;5566;7799]
B=[238;456;987]
A1=det(A)
A2=det(B)
A3=rank(A)
A4=rank(B)%求矩阵的秩
[DT]=eig(A)
[DT]=eig(B)%求矩阵A的特征向量
C=inv(A)
D=inv(B)%矩阵的逆矩阵
a1=C*A
a2=A*C
b1=D*B
b2=B*D%检验逆矩阵
运行结果:
A=
4312
1234
5566
7799
B=
238
456
987
A1=
6
A2=
-52
A3=
4
A4=
3
D=
0.19090.7071-0.5347-0.1422i-0.5347+0.1422i
0.2818-0.70710.79640.7964
0.5272-0.0000-0.0729-0.0622i-0.0729+0.0622i
0.7786-0.0000-0.1446+0.1718i-0.1446-0.1718i
T=
19.3440000
01.000000
000.3280+0.4501i0
0000.3280-0.4501i
D=
-0.4638-0.75270.5664
-0.4874-0.0941-0.7987
-0.73980.65160.2031
T=
17.913200
0-4.55100
000.6379
C=
0.5000-0.5000-3.83332.6667
-0.50000.50006.8333-4.6667
-0.5000-0.50000.50000.0000
0.50000.5000-2.83331.6667
D=
0.2500-0.82690.4231
-0.50001.1154-0.3846
0.2500-0.21150.0385
a1=
1.0000000
01.000000
0.0000-0.00001.00000.0000
00.000001.0000
a2=
1.00000-0.00000.0000
01.0000-0.00000.0000
0.0000-0.00001.00000.0000
-0.00000-0.00001.0000
b1=
1.00000.00000.0000
01.00000
00.00001.0000
b2=
1.00000.00000
-0.00001.0000-0.0000
-0.00000.00001.0000
2.多项式和线性方程组的求解
题目:
1对多项式p=x4+2x3-5x+6和s=x2+2x+3,用多项式系数表示;求多项式p,s的和、差、积、商;求多项式p=0和s=0的根;求多项式p的一阶导数。
程序:
p=[12056]
s=[00123]
a1=p+s
a2=p-s
a3=p.*s
a4=p./s
b1=roots(p)
b2=roots(s)
Dp=polyder(p)
运行结果:
p=[12056]
s=[00123]
a1=p+s
a2=p-s
a3=p.*s
a4=p./s
b1=roots(p)
b2=roots(s)
Dp=polyder(p)
p=
12056
s=
00123
a1=
12179
a2=
12-133
a3=
0001018
Warning:
Dividebyzero.
a4=
InfInf02.50002.0000
b1=
0.7144+1.4000i
0.7144-1.4000i
-2.4288
-1.0000
b2=
-1.0000+1.4142i
-1.0000-1.4142i
Dp=
4605
题目:
2试求下面的齐次方程的基础解系;
程序:
a=[614-7-3;-2-7-860;-451-68;-34369-2149;-26-12-272717];
n=null(a,'r')%求基础解系
运行结果:
n=
2.9625-0.7625
4.3250-2.7250
-3.77502.5750
1.00000
01.0000
题目:
3已知参数方程
{
,试求出
和
。
程序:
symsxyt
x=log(cos(t));%输入以t为变量的函数
y=cos(t)-t*sin(t);
a=diff(x,t)%求关于自变量t的一阶导数
b=diff(y,t)
n=collect(b/a,t)%求按t合并同类项
t=pi/3;
n2=diff(n,t);
n1=eval(n2)
运行结果:
a=
-sin(t)/cos(t)
b=
-2*sin(t)-t*cos(t)
n=
cos(t)^2/sin(t)*t+2*cos(t)
n1=
-2.6651
3.微积分基本运算
题目:
1.试求下面的双重极限。
。
程序:
.①symsxy
f=(x^2*y+x*y^3)/(x+y)^3
a=limit(limit(f,x,-1),y,2)%在x趋于-1的情况下y趋于2的函数值
②symsxy
f=(1-cos(x^2+y^2))/(x^2+y^2)
b=limit(limit(f,x,0),y,0)%在x趋于0的情况下y趋于0的函数值
运行结果:
.①f=.
(x^2*y+x*y^3)/(x+y)^3
limitf=
-6
.②f=
(1-cos(x^2+y^2))/(x^2+y^2)
b=
0
题目:
2.试求解下面的不定积分问题。
。
程序:
.①symsxa
f=(3*x^2+a)/(x^2*(x^2+a)^2)
a=int(f,x)
b=-a
②symsx
f=sqrt(x*(x+1))/(sqrt(x)+sqrt(1+x))
c=int(f,x)
运行结果:
.①f=
(3*x^2+a)/x^2/(x^2+a)^2
a=
-1/a/x+x/a/(x^2+a)
b=
1/a/x-x/a/(x^2+a)
②f=
(x*(x+1))^(1/2)/(x^(1/2)+(x+1)^(1/2))
c=
2/15*x^(3/2)*csgn(x+1)*(3*x+5)-2/15*csgn(x)*(x+1)^(3/2)*(3*x-2)
题目:
3.假设
,试求出
。
程序:
symsx
f=exp(-5*x)*sin(3*x+pi/3)
symsxt
f1=exp(-5*x)*sin(3*(x+t)+pi/3)
g=f*f1
r=int(g,x,0,t)
运行结果:
f=
exp(-5*x)*sin(3*x+1/3*pi)
f1=
exp(-5*x)*sin(3*x+3*t+1/3*pi)
g=
exp(-5*x)^2*sin(3*x+1/3*pi)*sin(3*x+3*t+1/3*pi)
r=
5/68*3^(1/2)*sin(t)*cos(t)^2-3/68*cos(t)^2*sin(t)-30/17*3^(1/2)*sin(t)^2*cos(t)^5*exp(-10*t)+140/17*3^(1/2)*sin(t)*cos(t)^6*exp(-10*t)+21/34*3^(1/2)*sin(t)^2*cos(t)^3*exp(-10*t)-3815/884*3^(1/2)*sin(t)*cos(t)^4*exp(-10*t)-9/136*3^(1/2)*sin(t)^2*cos(t)*exp(-10*t)+5/884*3^(1/2)*sin(t)*exp(-10*t)+45/17*cos(t)^4*exp(-10*t)*sin(t)-84/17*cos(t)^6*exp(-10*t)*sin(t)-15/34*cos(t)^2*exp(-10*t)*sin(t)+18289/17680*cos(t)^3*exp(-10*t)-3595/884*cos(t)^5*exp(-10*t)+90/17*cos(t)^7*exp(-10*t)+201/8840*cos(t)*exp(-10*t)+5/52*3^(1/2)*sin(t)^3*cos(t)^2*exp(-10*t)+24/17*3^(1/2)*sin(t)^2*cos(t)^7*exp(-10*t)-80/17*3^(1/2)*sin(t)*cos(t)^8*exp(-10*t)-40/17*cos(t)^9*exp(-10*t)+48/17*cos(t)^8*exp(-10*t)*sin(t)-135/3536*cos(t)*sin(t)^2*exp(-10*t)-5/208*3^(1/2)*sin(t)^3*exp(-10*t)+3/68*3^(1/2)*cos(t)^3-9/272*3^(1/2)*cos(t)-5/272*3^(1/2)*sin(t)-279/1360*cos(t)+93/340*cos(t)^3+3/272*sin(t)+40/17*exp(-10*t)*sin(t)^2*cos(t)^7+87/136*exp(-10*t)*3^(1/2)*cos(t)^3-9/272*exp(-10*t)*3^(1/2)*cos(t)-50/17*exp(-10*t)*sin(t)^2*cos(t)^5+54/17*exp(-10*t)*3^(1/2)*cos(t)^7-81/34*exp(-10*t)*3^(1/2)*cos(t)^5-24/17*exp(-10*t)*3^(1/2)*cos(t)^9+3/272*exp(-10*t)*sin(t)+825/884*cos(t)^3*sin(t)^2*exp(-10*t)+2175/3536*3^(1/2)*sin(t)*cos(t)^2*exp(-10*t)
题目:
4试求下面函数
的Taylor幂级数展开。
程序:
symsxn
A=taylor(log((1+x)/(1-x)),x,n)
运行结果:
A=
log((n+1)/(1-n))+(1/(n+1)+1/(1-n))*(x-n)+(-1/2/(n+1)^2-1/2/(-1+n)/(1-n))*(x-n)^2+(1/3/(-1+n)^2/(1-n)+1/3/(n+1)^3)*(x-n)^3+(-1/4/(-1+n)^3/(1-n)-1/4/(n+1)^4)*(x-n)^4+(1/5/(n+1)^5+1/5/(-1+n)^4/(1-n))*(x-n)^5
4.绘图
题目:
1绘制三维螺旋线
;
程序:
t=[0:
pi/30:
6*pi]'%t的范围
X=[t.*sin(t)t.*cos(t)];
Y=[t.*cos(t)t.*sin(t)];
Z=[tt];
figure
(1)
plot3(X,Y,Z)%矩阵作图
title('螺旋线')
figure
(2)
plot3(X(:
1),Y(:
1),Z(:
1),'r-',X(:
2),Y(:
2),Z(:
2),'b:
')
legend('x=tsint,y=tcost,z=t','x=tcost,y=tsint,z=t',0)
运行结果:
图1三维螺旋线
题目:
2对合适的
范围选取分别绘制下列的极坐标图形
,
,
,
程序:
symsr1r2r3r4u1u2u3u4
r1=1.0013*u1^2;
r2=cos(7*u2/2);
r3=sin(u3)/u3;
r4=1-(cos(7*u4))^3
subplot(2,2,1);
ezpolar(r1)
subplot(2,2,2);
ezpolar(r2)
subplot(2,2,3);
ezpolar(r3)
subplot(2,2,4);
ezpolar(r4)
运行结果:
图2极坐标图形
题目:
3绘制函数
的二维等高线和填充等高线;
程序:
z='sin(x)+cos(x+y)';
figure
(1)
ezsurf(z,[-pi/2,pi/2])
figure
(2)
subplot(1,2,1)
ezcontour(z,[-pi/2,pi/2])
subplot(1,2,2)
ezcontourf(
图3二维等高线和填充等高线
题目:
4用三角网线,曲面图表现函数
,
。
程序:
symszrRxy
z=sin(r)/r;
R=sqrt(x^2+y^2);
subplot(2,2,1);
Ezmesh(z)
subplot(2,2,2);
ezsurf(R)
运行结果:
图5三角网线,曲面图
5.曲线拟合与插值运算
题目:
1已知x=[1.2,1.8,2.1,2.4,2.6,3.0,3.3],y=[4.85,5.2,5.6,6.2,6.5,7.0,7.5],求对x和y进行6阶多项式拟合的系数;
程序:
x=[1.2,1.8,2.1,2.4,2.6,3.0,3.3]
y=[4.85,5.2,5.6,6.2,6.5,7.0,7.5]
p=polyfit(x,y,6)
运行结果:
x=
1.20001.80002.10002.40002.60003.00003.3000
y=
4.85005.20005.60006.20006.50007.00007.5000
p=
-2.010729.0005-170.6763523.2180-878.3092763.9307-263.4667
题目:
2假设已知一组数据,试用插值法绘制出
区间内的光滑曲线,比较各插值算法的优劣。
-2
-1.7
-1.4
-0.8
-0.5
0.1
0.4
0.7
1
1.3
-0.2
-1.1
0.10289
0.11741
0.13158
0.115656
0.16622
0.1775
0.17853
0.17835
0.17109
0.16302
0.17332
0.14483
1.6
1.9
2.2
2.8
3.1
3.7
4
4.3
4.6
4.9
3.4
2.5
0.15255
0.1402
0.12655
0.9768
0.08353
0.05786
0.04687
0.03729
0.02914
0.02236
0.07015
0.11219
程序:
x=[-2
-1.7
-1.4
-0.8
-0.5
0.1
0.4
0.7
1
1.3
-0.2
-1.1
1.6
1.9
2.2
2.8
3.1
3.7
4
4.3
4.6
4.9
3.4
2.5];
y=[0.10289
0.11741
0.13158
0.115656
0.16622
0.1775
0.17853
0.17835
0.17109
0.16302
0.17332
0.14483
0.15255
0.1402
0.12655
0.9768
0.08353
0.05786
0.04687
0.03729
0.02914
0.02236
0.07015
0.11219]
xt=linspace(min(x),max(x))
yt0=interp1(x,y,xt,'linear')
p=polyfit(x,y,3)%多项式插值
yt1=polyval(p,xt)%样条插值
yt2=spline(x,y,xt)
figure;holdon;boxon
hp=plot(x,y,'ro')
h0=plot(xt,yt0,'m-')
h1=plot(xt,yt1,'b-')
h2=plot(xt,yt2,'g-')
title('插值方法的比较','FontWeight','Bold')
legend([hph0h1h2],{'原数据节点','线性插值','多项式插值','样条插值'})
运行结果:
三、设计体会及建议
通过这次训练我感觉自己学到了很多东西。
首先就是自学的力量,事实上当我们通过看书,查资料,一步一步摸索着学习的时候,我感觉我们才是在真正的学习,也只有这样才能在以后的生活里学到东西,站稳脚跟。
还有就是,我发现自己学的太慢,理解力太差,记忆力也不好,对于各种语句远没有达到熟练自如的地步。
我也发现了matlab是一个很神奇,很有用的软件,希望自己能通过以后的自学去真正掌握它。