《MATLAB及应用》实验指导书作业.docx
- 文档编号:23438977
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:29
- 大小:68.26KB
《MATLAB及应用》实验指导书作业.docx
《《MATLAB及应用》实验指导书作业.docx》由会员分享,可在线阅读,更多相关《《MATLAB及应用》实验指导书作业.docx(29页珍藏版)》请在冰豆网上搜索。
《MATLAB及应用》实验指导书作业
《MATLAB及应用》实验指导书
班级:
姓名:
学号:
总评成绩:
汽车工程系
电测与汽车数字应用中心
目录
实验04051001MATLAB语言基础3
实验04051002MATLAB科学计算及绘图12
实验04051001MATLAB语言基础
操作成绩
报告成绩
实验目的
1)熟悉MATLAB的运行环境
2)掌握MATLAB的矩阵和数组的运算
3)掌握MATLAB符号表达式的创建
4)熟悉符号方程的求解
实验内容(任选6题)
1.利用rand等函数产生下列矩阵:
产生一个均匀分布在(-5,5)之间的随机阵(50×2),要求显示精度为精确到小数点后一位(精度控制指令为format)。
formatbank
a=-5;b=5;
r=a+(b-a).*rand(50,2)
r=
3.15-2.24
4.061.80
-3.731.55
4.13-3.37
1.32-3.81
-4.02-0.02
-2.224.60
0.47-1.60
4.580.85
4.65-2.76
-3.422.51
4.71-2.45
4.570.06
-0.151.99
3.003.91
-3.584.59
-0.780.47
4.16-3.61
2.92-3.51
4.59-2.42
1.563.41
-4.64-2.46
3.493.14
4.34-2.56
1.794.29
2.58-1.50
2.43-3.03
-1.08-2.49
1.551.16
-3.29-0.27
2.06-1.48
-4.683.31
-2.230.85
-4.540.50
-4.034.17
3.23-2.14
1.952.57
-1.832.54
4.50-1.20
-4.660.68
-0.61-4.24
-1.18-4.46
2.660.31
2.952.79
-3.134.34
-0.10-3.70
-0.540.69
1.46-0.31
2.09-4.88
2.55-1.63
2.在一个已知的测量矩阵T(100×100)中,删除整行数据全为0的行,删除整列数据全为0的列(判断某列元素是否为0方法:
检查T(:
i).*(T(:
i))是否为0)。
T=rand(10,10);
T(3,:
)=0;
T(:
4)=0;
[row,col]=size(T);
r=[];c=[];
fori=row:
-1:
1
if(sum(T(i,:
).*T(i,:
))==0)
r(size(r)+1)=i;
end
end
if(size(r))
T(r,:
)=[];
end
[row,col]=size(T);
forj=col:
-1:
1
if(sum(T(:
j).*T(:
j))==0)
c(size(c)+1)=j;
end
end
if(size(c))
T(:
c)=[]
end
T=
Columns1through4
0.830.870.140.49
0.540.080.870.34
0.080.260.550.37
0.440.800.140.11
0.110.430.850.78
0.960.910.620.39
0.000.180.350.24
0.770.260.510.40
0.820.150.400.10
Columns5through8
0.130.170.180.31
0.940.650.370.51
0.580.650.780.82
0.060.450.080.79
0.230.550.930.64
0.350.300.780.38
0.820.740.490.81
0.020.190.440.53
0.040.690.450.35
Column9
0.94
0.88
0.62
0.59
0.21
0.30
0.47
0.23
0.84
3.假设汽车系在下列各年度的人口统计如表所示
年份
类别
大一新生
学士毕业生
2002
102
82
2003
120
100
2004
98
94
2005
105
97
2006
121
110
试用一个二维矩阵STU表示上述数据,并请计算出下列各数值:
(1)汽车系在2002~2006年之间的每年平均新生、毕业生人数。
(2)5年来汽车系共有多少毕业生?
(3)在哪几年,新生数目比毕业生多?
(4)5年来每年的毕业生对新生的比例平均值为何?
STU=[200210282
2003120100
20049894
200510597
2006121110];
Ave_Stu=round(mean(STU(:
[2,3])))
Sum_gra=sum(STU(:
3))
Ave_Stu=
10997
Sum_gra=
483
STU_radio=mean(STU(:
3)./STU(:
2))
STU_radio=
0.8859
4.完成下列矩阵运算:
(1)使用randn产生一个(10×10)的矩阵A
(2)计算B=(A+A’)/2。
请注意,B一定是一个对称矩阵
(3)计算矩阵B的特征向量e1e2…e10(使用函数eig)
(4)验证在i不等于j的情况下,ei和ej的内积必定为0
A=randn(10,10)
B=(A+A')/2
C=eig(B)
A=
Columns1through6
0.5377-1.34990.67150.8884-0.1022-0.8637
1.83393.0349-1.2075-1.1471-0.24140.0774
-2.25880.72540.7172-1.06890.3192-1.2141
0.8622-0.06311.6302-0.80950.3129-1.1135
0.31880.71470.4889-2.9443-0.8649-0.0068
-1.3077-0.20501.03471.4384-0.03011.5326
-0.4336-0.12410.72690.3252-0.1649-0.7697
0.34261.4897-0.3034-0.75490.62770.3714
3.57841.40900.29391.37031.0933-0.2256
2.76941.4172-0.7873-1.71151.10931.1174
Columns7through10
-1.0891-0.61561.4193-1.1480
0.03260.74810.29160.1049
0.5525-0.19240.19780.7223
1.10060.88861.58772.5855
1.5442-0.7648-0.8045-0.6669
0.0859-1.40230.69660.1873
-1.4916-1.42240.8351-0.0825
-0.74230.4882-0.2437-1.9330
-1.0616-0.17740.2157-0.4390
2.3505-0.1961-1.1658-1.7947
B=
Columns1through6
0.53770.2420-0.79370.87530.1083-1.0857
0.24203.0349-0.2410-0.60510.2366-0.0638
-0.7937-0.24100.71720.28070.4041-0.0897
0.8753-0.60510.2807-0.8095-1.31570.1624
0.10830.23660.4041-1.3157-0.8649-0.0185
-1.0857-0.0638-0.08970.1624-0.01851.5326
-0.7613-0.04580.63970.71290.6897-0.3419
-0.13651.1189-0.24790.0668-0.0686-0.5154
2.49890.85030.24581.47900.14440.2355
0.81070.7610-0.03250.43700.22120.6523
Columns7through10
-0.7613-0.13652.49890.8107
-0.04581.11890.85030.7610
0.6397-0.24790.2458-0.0325
0.71290.06681.47900.4370
0.6897-0.06860.14440.2212
-0.3419-0.51540.23550.6523
-1.4916-1.0823-0.11321.1340
-1.08230.4882-0.2105-1.0645
-0.1132-0.21050.2157-0.8024
1.1340-1.0645-0.8024-1.7947
C=
-4.0702
-3.4514
-1.5577
-1.2496
-0.0343
0.8496
1.4875
2.1549
3.2486
4.1882
5.下列MATLAB语句用于画出函数
在[0,10]的值。
x=0:
0.1:
10;
y=2*exp(-0.2*x);
plot(x,y);
利用MATLAB的M-文件编辑器创建一个新的M-文件,输入上述代码,保存为文件test1.m。
然后在命令窗口中输入test1执行这个文件。
看得到什么结果?
x=0:
0.1:
10;
y=2*exp(-0.2*x);
plot(x,y);
6.熟悉MATALB帮助的使用:
1)通过以下两种方式得到关于exp函数的帮助
(a)在命令窗口中输入helpexp命令;
(b)运用帮助空间窗口。
2)使用lookfor命令查找出以10为底的对数函数,并计算1、10、1000的对数值。
helpexp
EXPExponential.
EXP(X)istheexponentialoftheelementsofX,etotheX.
ForcomplexZ=X+i*Y,EXP(Z)=EXP(X)*(COS(Y)+i*SIN(Y)).
SeealsoEXPM1,LOG,LOG10,EXPM,EXPINT.
Overloadedmethods:
lti/exp
codistributed/exp
ReferencepageinHelpbrowser
docexp
lookforlog10
log10-Common(base10)logarithm.
LOG10Common(base10)logarithm.
LOG10(X)isthebase10logarithmoftheelementsofX.
ComplexresultsareproducedifXisnotpositive.
ClasssupportforinputX:
float:
double,single
Seealsolog,log2,exp,logm.
Overloadedmethods:
codistributed/log10
ReferencepageinHelpbrowser
doclog10
log10
(1)
log10(10)
log10(1000)
ans=
0
ans=
1
ans=
3
7.假设u=1和v=3,用MATLAB符号计算功能计算下列表达式的值:
a.
b.
c.
d.
u=1;v=3;
a=4*u/(3*v)
b=2*v^(-2)/(u+v)
c=v^3/(v^3-u^3)
d=4*pi*v^2/3
a=
0.4444
b=
0.0556
c=
1.0385
d=
37.6991
8.a=3,A=4,b=a2,B=b2-1,c=a+A-2B,C=a+B+2c,求C。
(使用符号函数solve)
S=solve('a-3','A-4','b-a^2','B-b^2+1','c-a-A+2*B','C-a-B-2*c');
C=S.C
C=
-223
9.求解常微分方程x’’=-x’+x+1,x’(0)=1,x(0)=0(使用符号函数dsolve)
S=dsolve('D2x=-Dx+x+1','Dx(0)=1,x(0)=0')
S=
(5^(1/2)*exp(t*(5^(1/2)/2-1/2))*(5^(1/2)+3))/10+(5^(1/2)*(5^(1/2)-3))/(10*exp(t*(5^(1/2)/2+1/2)))-1
10.应用MATLAB帮助窗口查找显示当前目录的命令。
a)MATLAB启动时的当前目录是什么?
D:
\MyDocuments\MATLAB
b)创建一个新的目录mynewdir,并将其改变为当前目录。
然后打开M-文件编辑窗口,增加以下语句:
%createaninputarrayfrom-2*pito2*pi
t=-2*pi:
pi/10:
2*pi;
%calculate|sin(t)|
x=abs(sin(t));
%plotresult
plot(t,x);
把此文件以test2.m为文件名保存,然后在命令窗口中输入test2执行此文件。
%createaninputarrayfrom-2*pito2*pi
t=-2*pi:
pi/10:
2*pi;
%calculate|sin(t)|
x=abs(sin(t));
%plotresult
plot(t,x);
c)关闭绘图窗口,返回到原始目录,然后在命令窗口中输入test2。
看有何情况发生,为什么。
?
?
?
Undefinedfunctionorvariable'test2'.
因为Matlab命令窗口要执行的test2已不存在于当前目录下
思考题
1.MATLAB中,数组与矩阵在表示与应用上有哪些区别。
二维数组相当于矩阵,所以矩阵是数组的子集。
数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运算符前特别加了一个点。
矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的。
但有两点要注意:
(1)对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:
矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符;
(2)数与矩阵加减、矩阵除法在数学是没有意义的,在MATLAB中为简便起见,定义了这两类运算
实验04051002MATLAB科学计算及绘图
操作成绩
报告成绩
实验目的
1)熟悉MATLAB所提供的常用数值计算的函数(方程(组)的求解、插值、拟合);
2)掌握MATLAB二维图形绘制命令及其图形控制(plot、loglog、contour、polar等);
3)熟悉MATLAB三维图形绘制命令及其图形控制(mesh、surf等)。
实验内容
1.求f(x)=4x6-x+x3-95在(0,100)上最大值、最小值,根。
(使用函数fminbnd、roots)
解法1:
yx1=@(x)4*x^6-x+x^3-95;
[xn1,ymin1]=fminbnd(yx1,0,100);
yx2=@(x)(4*x^6-x+x^3-95)*(-1);
[xn2,ymin2]=fminbnd(yx2,0,100);
ymin=ymin1
ymax=abs(ymin2)
r=roots([40010-1-95])
ymin=
-95.3258
ymax=
4.0000e+012
r=
1.6860
0.8525+1.4852i
0.8525-1.4852i
-1.7050
-0.8431+1.4514i
-0.8431-1.4514i
解法2:
yx1=@(x)4*x^6-x+x^3-95;
xn1=fminbnd(yx1,0,100);
ymin=yx1(xn1)
yx2=@(x)(4*x^6-x+x^3-95)*(-1);
xn2=fminbnd(yx2,0,100);
ymax=abs(yx2(xn2))
r=roots([40010-1-95])
ymin=
-95.3258
ymax=
4.0000e+012
r=
1.6860
0.8525+1.4852i
0.8525-1.4852i
-1.7050
-0.8431+1.4514i
-0.8431-1.4514i
2.请用梯形法、辛普森法分别计算积分值
(trapz、quad)
采用trapz
formatlong
d=0.01;x=0:
d:
10;
y=sqrt(x.^2+x+1);
Itrapz=d*trapz(x,y)
Itrapz=
0.560524689738299
采用quad
法一:
采用匿名函数表达函数
fx=@(x)sqrt(x.^2+x+1);
Ic=quad(fx,0,1)%Ic=quad(@(x)sqrt(x.^2+x+1),0,1)
Ic=
1.336907509306287
法二:
采用字符串表达函数
fx='sqrt(x.^2+x+1)';
Ic=quad(fx,0,1)%Ic=quad('sqrt(x.^2+x+1)',0,1)
Ic=
1.336907509306287
3.
,用两种方法求函数的根,并求其极值与零点。
yx=@(x)x^3+(x-0.8)^2/(x+1.25)^3-5*(x+1/x);
xi1=fzero(yx,100)
S=solve('x^3+(x-0.8)^2/(x+1.25)^3-5*(x+1/x)','x');
xi2=double(S)
yx1=@(x)(x^3+(x-0.8)^2/(x+1.25)^3-5*(x+1/x))*(-1);
[x0,y0]=fminbnd(yx,0,100);
[x1,y1]=fminbnd(yx1,0,100);
x0
ymin=y0
x1
ymax=abs(y1)
xi1=
2.42
xi2=
2.42
-0.78
-2.28
-0.03
-0.78
-0.03
-2.28
x0=
0.00
ymin=
-83384.32
x1=
100.00
ymax=
999498.40
4.计算二重积分
(使用函数dblquad)
法一:
formatlong
S1=dblquad(@(x,y)x.^2+y.^2+x*y+2*x+y+1',0,2,0,1)
%采用匿名函数表示被积函数
S1=
11.333333333333334
法二:
formatlong
S2=dblquad('x.^2+y.^2+x*y+2*x+y+1',0,2,0,1)
%采用字符串表示被积函数
S2=
11.333333333333334
法三:
formatlong
S3=dblquad(inline('x.^2+y.^2+x*y+2*x+y+1'),0,2,0,1)
%采用内联对象表示被积函数
S3=
11.333333333333334
5.求解常微分方程x’’=-x’+x+1,x’(0)=1,x(0)=0(使用函数ode45,需建立M函数)
%functionydot=DyDt(t,y)
%ydot=[y
(2);-y
(2)+y
(1)+1];
tspan=[0,30];
y0=[1;0];
[tt,yy]=ode45(@DyDt,tspan,y0);
plot(tt,yy(:
1))
xlabel('t'),title('x(t)')
6.矩阵M=[1,2,6;4,2,7;8,9,3],求M的LU分解,QR分解,对角阵,特征值分解。
(使用函数lu、qr、svd、eig)
M=[1,2,6;4,2,7;8,9,3]
[L,U]=lu(M)
[Q,R]=qr(M)
[U,S,V]=svd(M)
[V,D]=eig(M)
M=
126
427
893
L=
0.125000000000000-0.3500000000000001.000000000000000
0.5000000000000001.0000000000000000
1.000000000000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB及应用 MATLAB 应用 实验 指导书 作业