MATLAB实验报告53581471.docx
《MATLAB实验报告53581471.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告53581471.docx(44页珍藏版)》请在冰豆网上搜索。
MATLAB实验报告53581471
(此文档为word格式,下载后您可任意编辑修改!
)
一.试验时间:
20131015
二.实验地点:
大楼五楼8号机房
三.实验名称:
MATLAB数值计算
四.实验目的:
1.掌握MATLAB数据对象的特点以及数值的运算规则。
2.掌握MATLAB中建立矩阵的方法以及矩阵处理和分析的方法。
3.掌握MATLAB中常量与变量的使用及各种表达式的书写规则。
4.熟悉MATLAB常用函数的使用以及多项式的运用。
二.实验内容
1.求下列表达式的值。
(1)z1=
结果:
>>z1=2*sin((85360)*pi)(1+eps*eps)
z1=
1.3512
(2)z2=
结果:
>>x=[21+2*i;-0.455]
x=
2.00001.0000+2.0000i
-0.45005.0000
>>z2=12*log(x+sqrt(1+x))
z2=
0.65850.6509+0.4013i
-0.61621.0041
(3)z3=×sin(a+0.3)+ln(),a=-3.0,-2.9,-2.8,…2.8,2.9,3.0
结果:
>>a=-3:
0.1:
3;
>>z3=(eps(a*0.3)-eps(a*0.2))2.0.*sin(a+0.3)+log((a+0.3)2.0)
z3=
Columns1through5
0.3001+3.1416i0.2624+3.1416i0.2231+3.1416i0.1823+3.1416i0.1398+3.1416i
Columns6through10
0.0953+3.1416i0.0488+3.1416i-0.0000+3.1416i-0.0513+3.1416i-0.1054+3.1416i
Columns11through15
-0.1625+3.1416i-0.2231+3.1416i-0.2877+3.1416i-0.3567+3.1416i-0.4308+3.1416i
Columns16through20
-0.5108+3.1416i-0.5978+3.1416i-0.6931+3.1416i-0.7985+3.1416i-0.9163+3.1416i
Columns21through25
-1.0498+3.1416i-1.2040+3.1416i-1.3863+3.1416i-1.6094+3.1416i-1.8971+3.1416i
Columns26through30
-2.3026+3.1416i-2.9957+3.1416i-37.0245-2.9957-2.3026Columns31through35
-1.8971-1.6094-1.3863-1.2040-1.0498
Columns36through40
-0.9163-0.7985-0.6931-0.5978-0.5108
Columns41through45
-0.4308-0.3567-0.2877-0.2231-0.1625
Columns46through50
-0.1054-0.05130.00000.04880.0953
Columns51through55
0.13980.18230.22310.26240.3001
Columns56through60
0.33650.37160.40550.43830.4700
Column61
0.5008
2.创建一个由10个元素组成的等差数列x,第一个元素是1,第10个元素是20.
(1)计算其元素个数;
(2)取出其中第二个元素赋值给y.
(3)将数组X的前3个元素分别赋值为4,5,6.
(4)将数组X的前5个元素倒序后构成一个字数组赋值给Z。
(5)取出X中的第2到最后一个元素赋值给t。
结果:
>>X=linspace()
X=
Columns1through9
1.00003.11115.22227.33339.444411.555613.666715.777817.8889
Column10
20.0000
(1)>>n=10
n=
10
(2)>>y=X(1,2)
y=
3.1111
(3)>>X(1,1:
3)=[456]
X=
Columns1through9
4.00005.00006.00007.33339.444411.555613.666715.777817.8889
Column10
20.0000
(4)>>z=[X
(1)X
(2)X(3)X(4)X(5)];
>>fliplr(z)
ans=
9.44447.33335.22223.11111.0000
(5)>>t=X;
>>t
(1)=[]
t=
3.11115.22227.33339.444411.555613.666715.777817.888920.0000
3.已知A=,B=,求下列表达式的值。
(1)A+6*B和A-B+I(其中I为单位矩阵)。
(2)A*B和A.*B.
(3)A^3和A.^3.
(4)AB和A\B.
(5)[AB]和[A(1,3),:
);B^2].
结果:
>>A=[1234-4;34787;3657]
A=
1234-4
34787
3657
>>B=[13-1;203;3-27]
B=
13-1
203
3-27
(1)>>y=A+6*B
y=
1852-10
467105
215349
>>I=eye(3)
I=
100
010
001
>>y=A-B+I
y=
1231-3
32884
0671
(2)>>y=A*B
y=
684462
309-72596
154-5241
>>y=A.*B
y=
121024
680261
9-13049
(3)>>y=A^3
y=
3722623382448604
247370149188600766
78688454142118820
>>y=A.^3
y=
172839304-64
39304343658503
27274625343
(4)>>y=AB
y=
16.4000-13.60007.6000
35.8000-76.200050.2000
67.0000-134.000068.0000
>>y=A\B
y=
-0.03130.3029-0.3324
0.0442-0.03230.1063
0.0317-0.11580.1558
(5)>>y=[AB]
y=
1234-413-1
34787203
36573-27
>>y=[A([1,3],:
);B^2]
y=
1234-4
3657
451
11019
20-540
4.a=[-1,0.5,0],b=[-3.4,3,-6],求:
a=b,a==b,a~=b,a<=0.
结果:
>>a=[-1,0.5,0]
a=
-1.00000.50000
>>b=[-3.4,3,-6]
b=
-3.40003.0000-6.0000
>>a
ans=
010
>>a>=b
ans=
101
>>a==b
ans=
000
>>a~=b
ans=
111
>>a<=0
ans=
101
5.A=,B=,计算A&B,A|B,~A。
结果:
>>A=[-501;2.612;081]
A=
-5.000001.0000
2.60001.00002.0000
08.00001.0000
>>B=[42.50;060;-1.201]
B=
4.00002.50000
06.00000
-1.200001.0000
>>A&B
ans=
100
010
001
>>A|B
ans=
111
111
111
>>~A
ans=
010
000
100
6.求x^3+4x^2-17x-60=0的根。
结果:
>>y=sym('x^3+4*x^2-17*x-60')
y=
x^3+4*x^2-17*x-60
>>x=solve(y)
x=
-3
4
-5
7.求多项式2x^4+4x^2-5x在1,2,3,4处的值,对于矩阵的值,以及在矩阵中各点处的值。
结果:
>>p=[24-50];
>>x=1:
1:
4;
>>polyval(p,x)
ans=
12275172
>>x=[12;34];
>>polyval(p,x)
ans=
122
75172
>>polyvalm(p,x)
ans=
97138
207304
8.将多项式G(x)=x^4-5x-17x+129x-180,当x在0:
1:
20时多项式的值y上加上正态分布的随即行向量构成y1,对y1进行拟合,并对多项式y和y1分别进行插值,计算在5.5处的值。
结果:
>>G=[1-5-17129-180];
>>x=0:
1:
20;
>>y=polyval(G,x)
y=
Columns1through8
-180-72-140040198576
Columns9through16
130025204410716811016162002299031680
Columns17through21
42588560567245092160115600
>>z=randn(1,21)
z=
Columns1through9
-0.4326-1.66560.12530.2877-1.14651.19091.1892-0.03760.3273
Columns10through18
0.1746-0.18670.7258-0.58832.1832-0.13640.11391.06680.0593
Columns19through21
-0.0956-0.83230.2944
>>y1=y+z
y1=
1.0e+005*
Columns1through9
-0.0018-0.0007-0.00010.0000-0.00000.00040.00200.00580.0130
Columns10through18
0.02520.04410.07170.11020.16200.22990.31680.42590.5606
Columns19through21
0.72450.92161.1560
>>p1=polyfit(x,y1,1)
p1=
1.0e+004*
0.4592-2.3221
>>p2=polyfit(x,y1,2)
p2=
1.0e+004*
0.0527-0.59391.0128
>>p3=polyfit(x,y1,3)
p3=
1.0e+003*
0.0350-0.52342.2579-1.8420
>>p4=polyfit(x,y1,4)
p4=
1.0000-4.9981-17.0398129.3836-180.9366
>>z=interp1(x,y,5.5)
z=
119
>>z1=interp1(x,y1,5.5)
z1=
120.1900
三.学习体会
今天是第二次做MATLAB实验,经过上一次实验的教训,在做实验之前我认真的预习了实验。
可是在实验中还是不可避免的出现了些问题,例如对表达式的输入问题,第一大题的第三小题表达式z3=×sin(a+0.3)+ln(),一开始的时候我输入的是z3=(eps(a*0.3)-eps(a*0.2))2.0*sin(a+0.3)+log((a+0.3)2.0).可是运行结果显示错误。
正确的输入应该是z3=(eps(a*0.3)-eps(a*0.2))2.0.*sin(a+0.3)+log((a+0.3)2.0)。
经过这次实验我学习到用MATLAB计算表达式的值,建立矩阵的方法以及矩阵处理和分析的方法等,常用函数的使用以及多项式的运用等。
一.试验时间:
2013115
二.实验地点:
大楼五楼8号机房
三.实验名称:
MATLAB符号计算
四.实验目的:
1.熟悉掌握MATLAB符号表达式的创建。
2.熟悉掌握符号表达式的代数运算。
3.掌握符号表达式的化简和替换。
4.熟悉掌握符号微积分。
5.熟悉符号方程的求解。
五.实验内容
1.根据运行结果分析下面三种表示方法有什么不同含义?
(1)f=3*x^2+5*x+2
结果:
>>f=3*x^2+5*x+2
(2)f='3*x^2+5*x+2'
结果:
>>f='3*x^2+5*x+2'
f=
3*x^2+5*x+2
(3)x=sym('x');f=3*x^2+5*x+2
结果:
>>x=sym('x');
>>f=3*x^2+5*x+2
f=
3*x^2+5*x+2
2.因式分解x^4-5*x^3+5*x^2+5*x-6
结果:
>>f=sym('x^4-5*x^3+5*x^2+5*x-6')
f=
x^4-5*x^3+5*x^2+5*x-6
>>factor(f)
ans=
(x-1)*(x-2)*(x-3)*(x+1)
3.合并(x+1)^3+(x-1)^2+5*x-6的同类项
结果:
>>f=sym('(x+1)^3+(x-1)^2+5*x-6')
f=
(x+1)^3+(x-1)^2+5*x-6
>>collect(f,'x')
ans=
-4+x^3+4*x^2+6*x
5.求(x+1)^6的展开式
结果:
>>f=sym('(x+1)^6')
f=
(x+1)^6
>>expand(f)
ans=
x^6+6*x^5+15*x^4+20*x^3+15*x^2+6*x+1
4.求f(x,y)=1(x^3-1)+1(x^2+y+1)+1(x+y+1)+8的分子、分母
结果:
>>f=sym('1(x^3-1)+1(x^2+y+1)+1(x+y+1)+8')
f=
1(x^3-1)+1(x^2+y+1)+1(x+y+1)+8
>>[n,1]=numden(f)
n=
-9-8*x-16*y+8*x^4*y+8*x^3*y^2+9*x^4+3*x^3-8*x^2+9*x^5+8*x^6-7*x^2*y-7*y*x-7*y^2+18*x^3*y+8*x^5*y
d=
(x^3-1)*(x^2+y+1)*(x+y+1)
5.求下列极限
(1)log(sinx)(pi-2*x)^2
结果:
>>f=sym('log(sinx)(pi-2*x)^2')
f=
log(sinx)(pi-2*x)^2
>>limit(f,x,pi2)
ans=
-18
(2)5*x^2(1-x^2)+2^(1x)
结果:
>>f=sym('5*x^2(1-x^2)+2^(1x)')
f=
5*x^2(1-x^2)+2^(1x)
>>limit(f,'x',inf)
ans=
-4
6.求下列函数的导数
(1)f(t)=,求f’(4)
结果:
>>symsxt
>>limit(((1-sqrt(4+x))(1+sqrt(4+x))-(1-sqrt(4))(1+sqrt(4)))x,x,0)
ans=
-118
(2)y=exp(x)*cos(x),求
结果:
>>f=sym('exp(x)*cos(x)')
f=
exp(x)*cos(x)
>>diff(f,'x',4)
ans=
-4*exp(x)*cos(x)
(3)
结果:
>>symsxt
>>limit((t+x-atan(t+x)-(t-atan(t)))x,x,0)
ans=
t^2(1+t^2)
7.已知f=,用符号微分求
结果:
>>symsax
>>f=[ax^21x;exp(a*x)log(x)sin(x)]
f=
[a,x^2,1x]
[exp(a*x),log(x),sin(x)]
>>diff(f)
ans=
[0,2*x,-1x^2]
[a*exp(a*x),1x,cos(x)]
8.求下列不定积分
(1)
结果:
>>f=sym('sin(2*x)sqrt(1+(sin(x))^2)')
f=
sin(2*x)sqrt(1+(sin(x))^2)
>>int(f,'x')
ans=
2*(1+sin(x)^2)^(12)
(2)
结果:
>>f=sym('1sqrt(x^2+5)')
f=
1sqrt(x^2+5)
>>int(f,'x')
ans=
asinh(15*5^(12)*x)
9.求下列定积分
(1)
结果:
>>f=sym('sqrt((sin(x))^3-(sin(x))^5)')
f=
sqrt((sin(x))^3-(sin(x))^5)
>>int(f,'x',0,pi)
ans=
45
(2)
结果:
>>f=sym('exp(x^22)')
f=
exp(x^22)
>>int(f,'x',0,1)
ans=
-12*i*erf(12*i*2^(12))*pi^(12)*2^(12)
10.用代数方程求解方程组
结果:
>>eq1=sym('x1-x2+4*x3-2*x4');
>>eq2=sym('x1-x2-x3+2*x4');
>>eq3=sym('3*x1+x2+7*x3-2*x4');
>>eq4=sym('x1-3*x2-12*x3+6*x4');
>>[x1,x2,x3,x4]=solve(eq1,eq2,eq3,eq4)
x1=
0
x2=
0
x3=
0
x4=
0
六.实验体会
MATLAB符号运算,我学习到如何利用sym命令创建符号常量。
例如,在第一题中如果直接输入f=3*x^2+5*x+2就会显示x没有定义,应当先利用sym命令定义x=sym(‘x’);另外还有利用[n,d]=numden(s)提取分子分母,factor(s),expand(s)进行因式分解与展开,simplify,simple(s)化解多项式。
以及用limit(f,x,a),diff(f,x,a)等函数求极限,微积分等。
一.实验时间:
20131111
二.试验地点:
大楼五楼8号机房
三.实验名称:
MATLAB环境及命令窗口的使用
四.实验目的
1.熟悉MATLAB的操作环境及基本操作方法。
2.熟悉MATLAB的通用参数设置。
3.熟悉MATLAB的搜索路径及设置方法。
4.熟悉MATLAB帮助信息的查阅方法。
五.实验内容
1.完成下列操作:
(1)在MATLAB命令窗口输入以下命令:
x=0:
pi10:
2*pi;
y=sin(x);
(2)在工作空间窗口选择变量y,再在工作空间窗口选择绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形。
(3)利用帮助学习save,load命令的用法,将工作区中变量全都保存在mydata.mat中,清空工作区,重新载入变量x,y查看变量信息,并把它们保存在mydata.mat中。
结果:
>>x=0:
pi10:
2*pi;
>>y=sin(x);
>>plot(y,'DisplayName','y','YDataSource','y');figure(gcf)
>>savemydata
>>clc
2.计算y=1.3^3sin(pi3)sprt26,实现
(1)结果用format命令按不同格式输出。
(2)观察在进行上述计算后命令历史窗口的变化,用功能键实现回调刚才计算语句。
(3)回调计算语句,把sin改为sn运行,观察反馈信息。
若回调语句后面加“;”号,看输出有何不同。
结果:
(1)>>y=1.3*1.3*1.3*sin(pi3)*sqrt(26)
y=
d24b1320
>>formatshorte
>>y=1.3*1.3*1.3*sin(pi3)*sqrt(26)
y=
9.7017e+000
>>formatrat
>>y=1.3*1.3*1.3*sin(pi3)*sqrt(26)
y=
2862295
>>>>y=1.3*1.3*1.3*sin(pi3)*sqrt(26)
y=
d24b1320
>>formatshorte
>>y=1.3*1.3*1.3*sin(pi3)*sqrt(26)
y=
9.7017e+000
>>formatrat
>>y=1.3*1.3*1.3*sin(pi3)*sqrt(26)
y=
2862295
(2)>>y=1.3*1.3*1.3*sn(pi3)*sqrt(26)
?
?
?
Undefinedfunctionormethod'sn'forinputargumentsoftype'double'.
>>y=1.3^3*sin(pi3)*sqrt(26);
>>
3.键入命令:
x=-10:
0.5:
10;
y=-8:
0.5:
8;
[X,Y]=meshgrid(x,y);
Z=sin(sqrt(X.^2+Y.^2)).sqrt(X.^2+Y.^2);
Meshz(X,Y,Z)%三维网格曲面