南华大学MATLAB实验报告1Word文件下载.docx
《南华大学MATLAB实验报告1Word文件下载.docx》由会员分享,可在线阅读,更多相关《南华大学MATLAB实验报告1Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
2.多项式
多项式的建立:
若多的项的全部根构成的向量为X,则以X为根的多项式为poly(X)
多项式的根:
roots(p)计算以向量p为系数的多项式的根,包括重根,复根
多项式求值:
polyval(p,x),p是多项式的系数,x可以是一个数也可以是一个矩阵
多项式求拟合次数:
polyfit(x,y,n),x可以是一个数也可以是一个矩阵,y是x对应的数或矩阵
多项式的四则运算:
(1)P1+P2;
(2)P1-P2;
(3)conv(P1,P2),(4)deconv(P1,P2)
四、实验内容
1.已知矩阵 11121314
21222324
A=31323334
41424344
(1)如何输出A的第1列?
(2)如何输出A的第2行?
(3)如何输出A的第2列和第3列?
(4)要得到
,怎么办?
(5)如何输出A的第1列和第3列?
(6)如何将21和31按一列输出?
(7)如何将A所有元素按从最左列至最右列新排列为一列输出?
(8)如何将A原阵输出?
(9)如何输出2阶全1阵?
(10)如何输出2阶单位阵?
(11)试用分块矩阵的方法生成阵
1112131411
2122232411
3132333410
4142434401
(12)求A的主对角线
(13)求除去A阵第1列后新阵的主对角线
(14)求除去A阵第1行后新阵的主对角线
(15)求除去A阵从左到右前2列后新阵的主对角线
(16)要分别单独输出A阵元素11、22、33、44,怎么办?
(17)如何将11、31、12、32、13、33、14、34按顺序一行输出?
2.已知
.求
(1)A的逆;
(2)A的行列式;
(3)A的迹;
(4)A的所有特征向量和特征值。
3.A=magic(3),B=7*rand(3),计算数组A、B乘积,计算A&
B,A|B,~A,A==B,A>
B如何生成一个三阶幻方、3阶随机阵、1行2列全零阵、3行4列全一阵、3阶单位阵?
4.生成一个4阶Hilbert矩阵H,
(1)求H的转置;
(2)将H旋转90度;
(3)对H实行左右翻转;
(4)对H实行上下翻转。
5输入如下矩阵A
0 /3
A=/6/2
(1)求矩阵B1, B1中每一元素为对应矩阵A中每一元素的正弦函数
(2)求矩阵B2,B2中每一元素为对应矩阵A中每一元素的余弦函数
(3)求B12+B22
(4)求矩阵A的特征值与特征矢量:
称特征矢量为M,而特征值矩阵为L
(5)求Msin(L)M-1
(6)使用funm命令求矩阵A的正弦函数(结果应该与(5)同)
(7)求cosA
(8)证明sin2A+cos2A=II是全1阵
6某专业有三名研究生,本学期选修了四门课程,若这些研究生的姓名,学号,性别,出生年月,课程名称,考试成绩可任意假定,
(1)分别用结构型变量和细胞型变量表示以上信息;
(2)举例说明查阅以上任何一条信息的方法;
(3)求每一个研究生的平均成绩.
7.已知多项式
,试求:
(1)p(x)的根;
(2)由其根生成一个多项式q(x)并与p(x)比较;
(3)计算p(1.5),p(-2),p(5)的值。
8已知矩阵A=[1.2350.9;
51.756;
3901;
1234],求
(1)A的特征多项式
(2)特征多项式中未知数为20时的值
(3)特征多项式的根
(4)特征多项式的导数
9.在实验中测得如下10组数据:
X12345610121516
Y7151930383723693928
(1)求最多能拟合多项式的次数是多少?
并求出各项系数。
(2)将数据点和拟合曲线在同一图中绘出。
五、实验过程及结果(含源代码)
1、在MATLAB中新建.m文件,输入实验代码如下并保存:
clc,clear
A=[11121314;
21222324;
31323334;
41424344];
A1=A(:
1)
A2=A(2,:
)
A3=A(:
2:
3)
A4=A(2:
3,2:
A5=A(:
1:
2:
A6=A(2:
A7=A(:
A8=A(:
:
A9=ones(2,2)
A10=eye
(2)
A11=[A,[ones(2,2);
eye
(2)]]
A12=diag(A)
A13=diag(A,1)
A14=diag(A,-1)
A15=diag(A,2)
点击“run”运行得到结果如下:
A1=
11
21
31
41
A2=
A3=
1213
2223
3233
4243
A4=
A5=
1113
2123
3133
4143
A6=
2131
A7=
12
22
32
42
13
23
33
43
14
24
34
44
A8=
11121314
31323334
41424344
A9=
11
A10=
10
01
A11=
1112131411
A12=
A13=
A14=
A15=
2、在命令窗口输入代码如下:
A=[23-54;
-127-3;
5-421;
76-2-3];
inv(A)
ans=
0.01980.00100.10690.0610
0.11990.1116-0.06360.0271
0.07090.16160.0667-0.0448
0.23880.11780.0777-0.1069
-1918
3
E=eig(A)
E=
-5.6545
4.6888
1.9828+8.2711i
1.9828-8.2711i
[V,D]=eig(A)
V=
0.38500.4655-0.0889+0.4794i-0.0889-0.4794i
-0.11960.4083-0.1447-0.5624i-0.1447+0.5624i
-0.19720.48720.59030.5903
-0.89360.6157-0.1444+0.2359i-0.1444-0.2359i
D=
-5.6545000
04.688800
001.9828+8.2711i0
0001.9828-8.2711i
3、在命令窗口键入实验代码如下:
>
A=magic(3),B=7*rand(3)
A=
816
357
492
B=
6.65093.40193.1953
1.61806.23910.1295
4.24795.33475.7499
A*B
80.312665.462260.1908
57.777878.743850.4824
49.661180.428725.4465
A&
B
111
A|B
~A
000
A==B
A>
101
010
A=magic(3)
B=rand(3)
0.95010.48600.4565
0.23110.89130.0185
0.60680.76210.8214
C=zeros(1,2)
C=
00
D=ones(3,4)
1111
E=eye(3)
100
001
4、在命令窗口键入实验代码及运行结果如下:
H=hilb(4)
H=
1.00000.50000.33330.2500
0.50000.33330.25000.2000
0.33330.25000.20000.1667
0.25000.20000.16670.1429
H'
rot90(H)
fliplr(H)
0.25000.33330.50001.0000
0.20000.25000.33330.5000
0.16670.20000.25000.3333
0.14290.16670.20000.2500
flipud(H)
5、在命令窗口键入实验代码及运行结果如下:
A=[0pi/3;
pi/6pi/2]
01.0472
0.52361.5708
B1=sin(A)
B1=
00.8660
0.50001.0000
B2=cos(A)
B2=
1.00000.5000
0.86600.0000
B1^2+B2^2
1.86601.3660
1.36601.8660
[M,L]=eig(A)
M=
-0.9628-0.4896
0.2703-0.8719
L=
-0.29400
01.8648
M*sin(L)*inv(M)
-0.12000.6048
0.30240.7873
funm(A,@sin)
funm(A,@cos)
0.7873-0.6048
-0.3024-0.1200
(funm(A,@sin))^2+(funm(A,@cos))^2
1.0000-0.0000
-0.00001.0000
6、实验代码及运行结果如下:
(1)分别用细胞型变量和结构型变量表示题示信息如下:
%细胞型变量
A1={'
李明'
20130001,'
男'
19890214,'
MATLAB'
99,'
ENGLISH'
88,'
Matrix'
96,'
Math'
94};
A2={'
张远'
20130006,'
19900425,'
98,'
80,'
90,'
96};
A3={'
王云'
20130009,'
女'
19901001,'
97,'
89,'
90};
%结构型变量
B1=struct('
Name'
'
StuNumber'
Sex'
Birth'
19890214,...
'
94);
B2=struct('
20130006,'
19900425,...
96);
B3=struct('
20130009,'
19901001,...
90);
C=[B1B2B3];
(2)查询信息,如查询李明的学号,实验代码如下:
name='
information='
;
fori=1:
3
ifstrcmp(C(i).Name,name)==1
disp(information);
getfield(C(i),information)
break;
end
end
运行结果如下:
name=
李明
StuNumber
20130001
(3)求每位研究生的平均成绩:
Average(i)=(C(i).MATLAB+C(i).ENGLISH+C(i).Matrix+C(i).Math)/4;
end
Average
结果如下:
Average=
94.250091.000091.2500
7、在命令窗口键入实验代码及运行结果如下:
p=[3-279];
x=roots(p)
x=
0.7513+1.7392i
0.7513-1.7392i
-0.8358
q=poly(x)
q=
1.0000-0.66672.33333.0000
b=[1.5-25];
polyval(p,b)
25.1250-37.0000369.0000
8、在命令窗口键入实验代码及运行结果如下:
A=[1.2350.9;
1234];
p=poly(A);
poly2sym(p)
ans=
x^4-(69*x^3)/10-(3863*x^2)/50-(8613*x)/100+12091/20
polyval(p,20)
7.2778e+04
roots(p)
13.0527
-4.1671+1.9663i
-4.1671-1.9663i
2.1815
Dp=polyder(p);
poly2sym(Dp)
4*x^3-(207*x^2)/10-(3863*x)/25-8613/100
9、因题目给出的实验数据是10组,可以看做是10个多项式方程组,仅当多项式的次数小于方程组的个数时,方程组为超定方程,此时才可以进行最小二乘多项式拟合,因此,最多拟合次数为9次,实验代码及运行结果如下:
X=[12345610121516];
Y=[7151930383723693928];
a=polyfit(X,Y,9);
x2=1:
0.1:
16;
y2=polyval(a,x2);
plot(X,Y,'
r*'
x2,y2,'
b-'
legend('
原数据点'
拟合曲线'
拟合多项式系数如下:
a=
Columns1through7
0.0000-0.00050.0150-0.26932.9713-20.512685.9563
Columns8through10
-204.4409250.3796-107.0989
实验图形如下所示:
(此处按题号顺序写上所写的程序语句内容以及matlab中出现的程序运行结果)
六、实验总结