matlab实验一 数值运算实验.docx
《matlab实验一 数值运算实验.docx》由会员分享,可在线阅读,更多相关《matlab实验一 数值运算实验.docx(10页珍藏版)》请在冰豆网上搜索。
![matlab实验一 数值运算实验.docx](https://file1.bdocx.com/fileroot1/2022-11/23/abc49aca-7573-4870-8f3a-4f9fea7dad98/abc49aca-7573-4870-8f3a-4f9fea7dad981.gif)
matlab实验一数值运算实验
实验一数值运算实验
1实验目的
(1)学习MATLAB语言的基本矩阵运算
(2)学习MATLAB语言的点运算
(3)学习复杂运算
2实验内容
在下面的实验操作中,认真记录每项操作的作用和目的。
(1)基本矩阵运算
1)创建数值矩阵
a=[123;456;789];
a=
123
456
789
观察a
a(3,2)
ans=
8
a(:
1)
ans=
1
4
7
键入
t=0:
10;
u=0:
0.1:
10;
观察矩阵变量t、u的值。
t=
012345678910
u=
1至15列
00.10000.20000.30000.40000.50000.60000.70000.80000.90001.00001.10001.20001.30001.4000
16至30列
1.50001.60001.70001.80001.90002.00002.10002.20002.30002.40002.50002.60002.70002.80002.9000
31至45列
3.00003.10003.20003.30003.40003.50003.60003.70003.80003.90004.00004.10004.20004.30004.4000
46至60列
4.50004.60004.70004.80004.90005.00005.10005.20005.30005.40005.50005.60005.70005.80005.9000
61至75列
6.00006.10006.20006.30006.40006.50006.60006.70006.80006.90007.00007.10007.20007.30007.4000
76至90列
7.50007.60007.70007.80007.90008.00008.10008.20008.30008.40008.50008.60008.70008.80008.9000
91至101列
9.00009.10009.20009.30009.40009.50009.60009.70009.80009.900010.0000
键入
a(:
3)=[2;3;4];
a
观察矩阵a的变化。
a=
002
003
004
键入
b=[11+2i;3+4i3];
观察复数矩阵。
b=
1.0000+0.0000i1.0000+2.0000i
3.0000+4.0000i3.0000+0.0000i
2)创建特殊矩阵
键入
a=ones(3,3);
b=zeros(2,2);
c=eye(4);
magic(4);
观察特殊矩阵。
a=
111
111
111
b=
00
00
c=
1000
0100
0010
0001
3)练习矩阵运算
a=[010;001;-6-11-6];
b=[12;34;56];
c=[110;011];
作矩阵乘运算
v1=c*a
v1=
011
-6-11-5
v2=a*b
v2=
34
56
-69-92
v3=c*a*b
v3=
810
-64-86
v4=b*c
v4=
132
374
5116
v5=c*b
v5=
46
810
矩阵乘方运算
a^2
ans=
001
-6-11-6
366025
a^(1/2)
ans=
0.0000+0.4894i0.0000-0.5588i0.0000-0.0482i
0.0000+0.2891i0.0000+1.0195i0.0000-0.2696i
0.0000+1.6179i0.0000+3.2553i0.0000+2.6374i
矩阵加减运算
a1=a+b*c
a1=
142
375
-100
a2=c*b-a(1:
2,1:
2)
a2=
45
810
a3=a(1:
2,2:
3)+c*b
a3=
56
811
矩阵右除
ar=c/a
ar=
-0.8333-1.0000-0.1667
1.00001.00000
矩阵左除
al=a\b
al=
-5.6667-8.6667
1.00002.0000
3.00004.0000
4)练习矩阵特征运算
完成以下特征运算
inv(a),tril(a),rank(a)
ans=
-1.8333-1.0000-0.1667
1.000000
01.00000
ans=
000
000
-6-11-6
ans=
3
(2)MATLAB语言的点运算
1)练习点乘与点除
a1=[12;34];
a2=0.2*a1;
观察
[a1a2]
ans=
1.00002.00000.20000.4000
3.00004.00000.60000.8000
[a1.*a2a1./a2]
ans=
0.20000.80005.00005.0000
1.80003.20005.00005.0000
2)由点运算完成标量函数运算与作图
正余弦函数的点运算
t=0:
2*pi/180:
2*pi;
y1=sin(t);y2=cos(t);
y=y1.*y2;
plot(t,[y’y1’y2’]);
复变函数的点运算。
w=0.1:
0.1:
2;
g1=(1+0.5*w*i)/(1-0.5*w*i);
g1
g1=
0.4719+0.7728i
g2=(1+0.5*w*i)./(1-0.5*w*i);
g2
g2=
1至7列
0.9950+0.0998i0.9802+0.1980i0.9560+0.2934i0.9231+0.3846i0.8824+0.4706i0.8349+0.5505i0.7817+0.6236i
8至14列
0.7241+0.6897i0.6632+0.7484i0.6000+0.8000i0.5355+0.8445i0.4706+0.8824i0.4060+0.9139i0.3423+0.9396i
15至20列
0.2800+0.9600i0.2195+0.9756i0.1611+0.9869i0.1050+0.9945i0.0512+0.9987i0.0000+1.0000i
plot(g2);xlabel(‘realg2(w)’);ylabel(‘inagg2(w)’)
axis(‘square’);
(3)多项式运算
1)建立多项式向量
ap=[1221];
b=[-1-2-3];bp=poly(b)
bp=
16116
2)练习多项式乘与求根
p=conv(ap,bp)
p=
18254140236
roots(p)
ans=
-3.0000+0.0000i
-2.0000+0.0000i
-0.5000+0.8660i
-0.5000-0.8660i
-1.0000+0.0000i
-1.0000+0.0000i
3)练习多项式运算
a=[1234];b=[1-1];
c=a+[zeros(1,length(a)-length(b))b];
poly2str(c,’x’)
ans=
x^3+2x^2+4x+3
polyvalm(a,3)
ans=
58
(4)代数方程组
1)恰定方程组
A=[12;23];b=[8;13];
方法1:
逆矩阵求解
X=inv(a)*b
X=
2.0000
3.0000
方法2:
矩阵左除求解
X=a\b
X=
2.0000
3.0000
3实验报告要求
按上述步骤完成数值运算实验,并按练习实例做好记录。