MATLAB程序设计与应用刘卫国编课后实验答案Word文档下载推荐.docx
《MATLAB程序设计与应用刘卫国编课后实验答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用刘卫国编课后实验答案Word文档下载推荐.docx(82页珍藏版)》请在冰豆网上搜索。
Columns29through32
—3、0017 —2、3085 —1、8971 -1、5978
Columns33through36
—1、3575 —1、1531 -0、9723 —0、8083
Columns37through40
-0、6567 —0、5151 —0、3819 -0、2561
Columns41through 44
-0、1374 —0、0255 0、0792 0、1766
Columns45through48
0、2663 0、3478 0、4206 0、4841
Columns 49through52
0、5379 0、5815 0、6145 0、6366
Columns 53through56
0、6474 0、6470 0、6351 0、6119
Columns57 through60
0、5777 0、5327 0、4774 0、4126
Column61
0、3388
z4=
0 0、2500 01、25001、00002、2500
2、已知:
求下列表达式得值:
(1)A+6*B与A-B+I(其中I为单位矩阵)
(2)A*B与A、*B
(3)A^3与A、^3
(4) A/B及B\A
(5)[A,B]与[A([1,3],:
);
B^2]
M 文件:
A=[1234-4;
347 87;
3657];
B=[13 -1;
2 03;
3 -27];
A+6、*B
A-B+eye(3)
A*B
A、*B
A^3
A、^3
A/B
B\A
[A,B]
[A([1,3],:
);
B^2]
A=[1234-4;
34787;
3657];
B=[13-1;
20 3;
3—27];
A+6、*B
A-B+eye(3)
A*B
A、*B
A^3
A/B
B\A
[A,B]
[A([1,3],:
B^2]
ans=
18 52-10
46 7 105
2153 49
ans=
12 31—3
328 84
0 671
ans=
684462
309 —72596
154 -5 241
ans=
121024
68 0261
9-130 49
ans=
37226 233824 48604
247370149188600766
78688 454142 118820
1728 39304 —64
39304 343 658503
27 274625 343
16、4000 -13、60007、6000
35、8000 -76、2000 50、2000
67、0000-134、0000 68、0000
109、4000—131、2000 322、8000
-53、000085、0000—171、0000
—61、6000 89、8000—186、2000
ans=
12 34-4 1 3-1
34 7 87 2 0 3
3 65 7 3 -27
ans=
1234 -4
3 65 7
4 5 1
11 0 19
20-540
3、设有矩阵A与B
(1)求它们得乘积C.
(2)将矩阵C得右下角3×
2子矩阵赋给D。
(3)查瞧MATLAB工作空间得使用情况.
解:
、运算结果:
E=(reshape(1:
1:
25,5,5))'
;
F=[3 016;
17 -69;
023-4;
970;
41311];
C=E*F
H=C(3:
5,2:
3)
C=
93 150 77
258 335 237
423 520 397
588705557
753890717
H=
520 397
705 557
890 717
4、完成下列操作:
(1)求[100,999]之间能被21整除得数得个数。
(2)建立一个字符串向量,删除其中得大写字母.
(1)结果:
m=100:
999;
n=find(mod(m,21)==0);
length(n)
ans=
43
(2)、建立一个字符串向量例如:
ch=’ABC123d4e56Fg9’;
则要求结果就是:
ch='
ABC123d4e56Fg9’;
k=find(ch>=’A'
&
ch<
='
Z'
ch(k)=[]
ch=
123d4e56g9
实验二MATLAB矩阵分析与处理
1、设有分块矩阵,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证。
M文件如下;
输出结果:
S=
10
0 2
A =
1、0000 0 0 0、5383 0、4427
0 1、0000 0 0、9961 0、1067
0 0 1、0000 0、0782 0、9619
0 0 01、0000 0
0 0 0 0 2、0000
a =
1、0000 0 01、0767 1、3280
0 1、0000 0 1、9923 0、3200
0 0 1、0000 0、1564 2、8857
0 0 0 1、0000 0
0 0 00 4、0000
ans =
00 0 00
00 00 0
00 0 00
0 0 0 0 0
000 00
由ans,所以
2、产生5阶希尔伯特矩阵H与5阶帕斯卡矩阵P,且求其行列式得值Hh与Hp以及它们得条件数Th与Tp,判断哪个矩阵性能更好。
为什么?
M文件如下:
输出结果:
H=
1、00000、5000 0、3333 0、2500 0、2000
0、50000、3333 0、25000、2000 0、1667
0、3333 0、2500 0、2000 0、1667 0、1429
0、2500 0、2000 0、1667 0、14290、1250
0、20000、16670、14290、12500、1111
P=
111 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 515 3570
Hh=
3、7493e—012
Hp=
1
Th=
4、7661e+005
Tp=
8、5175e+003
因为它们得条件数Th>
>
Tp,所以pascal矩阵性能更好.
3、建立一个5×
5矩阵,求它得行列式值、迹、秩与范数.
M文件如下:
输出结果为:
17 24 1 815
23 5 7 14 16
4 613 2022
10 12 1921 3
11 18 25 2 9
d=
5070000
t=
65
c1=
6、8500
c2=
5、4618
cinf =
6、8500
4、 已知
求A得特征值及特征向量,并分析其数学意义。
M文件如图:
V=
0、7130 0、2803 0、2733
-0、6084 -0、7867 0、8725
0、3487 0、55010、4050
D=
-25、3169 0 0
0—10、5182 0
0 0 16、8351
数学意义:
V得3个列向量就是A得特征向量,D得主对角线上3个就是A得特征值,特别得,V得3个列向量分别就是D得3个特征值得特征向量.
5、下面就是一个线性方程组:
(1) 求方程得解.
(2)将方程右边向量元素b3改为0、53再求解,并比较b3得变化与解得相对变化。
(3)计算系数矩阵A得条件数并分析结论。
M文件如下:
X=
1、2000
0、6000
X2=
1、2000
0、6000
0、6000
C =
1、3533e+003
由结果,X与X2得值一样,这表示b得微小变化对方程解也影响较小,而A得条件数算得较小,所以数值稳定性较好,A就是较好得矩阵。
6、建立A矩阵,试比较sqrtm(A)与sqrt(A),分析它们得区别。
运行结果有:
A=
166 18
20 5 12
9 8 5
b1=
3、8891-0、1102 3、2103
3、2917 2、1436 0、3698
0、3855 2、0760 1、7305
b2=
4、0000 2、4495 4、2426
4、4721 2、2361 3、4641
3、0000 2、82842、2361
b=
16、0000 6、000018、0000
20、0000 5、0000 12、0000
9、0000 8、0000 5、0000
分析结果知:
sqrtm(A)就是类似A得数值平方根(这可由b1*b1=A得结果瞧出),而sqrt(A)则就是对A中得每个元素开根号,两则区别就在于此。
实验三选择结构程序设计
一、实验目得
1、掌握建立与执行M文件得方法。
2、掌握利用if语句实现选择结构得方法.
3、掌握利用switch语句实现多分支选择结构得方法.
4、掌握try语句得使用。
二、实验内容
1、求分段函数得值。
用if语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得y值.
M文件如下:
运算结果有:
f(—5)
y =
14
〉>
f(—3)
y=
11
f(1)
y=
2
>>
f
(2)
y =
1
〉〉f(2、5)
y=
—0、2500
〉〉f(3)
5
f(5)
19
2、 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90分~100分为A,80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E.
要求:
(1)分别用if语句与switch语句实现。
(2)输入百分制成绩后要判断该成绩得合理性,对不合理得成绩应输出出错信息.
M文件如下
试算结果:
score=88
grade=
B
score=123
错误:
输入得成绩不就是百分制成绩
3、硅谷公司员工得工资计算方法如下:
(1) 工作时数超过120小时者,超过部分加发15%。
(2) 工作时数低于60小时者,扣发700元。
(3)其余按每小时84元计发。
试编程按输入得工号与该号员工得工时数,计算应发工资。
M文件下
4、设计程序,完成两位数得加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应得运算,并显示相应得结果。
M文件如下;
运算结果例:
a=
38
b=
33
输入一个运算符:
^
c=
false
a =
92
b=
40
+
132
5、建立5×
6矩阵,要求输出矩阵第n行元素。
当n值超过矩阵得行数时,自动转为输出矩阵最后一行元素,并给出出错信息。
M文件如下:
运算结果如下:
输入一个5行6列矩阵A=[1 23 4 55;
234576;
22 2223;
1123 9 73;
2 34567]
输入一正整数n=4
11 2 3 97 3
输入一个5行6列矩阵A=[1 234 55;
2 34 5 7 6;
2222 2 3;
1123 973;
2 34 567]
输入一正整数n=6
2 3 45 6 7
ans =
Errorusing==>
disp
Too manyinputarguments、
实验四循环结构程序设计
1、掌握利用for语句实现循环结构得方法.
2、 掌握利用while语句实现循环结构得方法。
3、熟悉利用向量运算来代替循环操作得方法。
1、根据,求π得近似值。
当n分别取100、1000、10000时,结果就是多少?
要求:
分别用循环结构与向量运算(使用sum函数)来实现。
运行结果如下:
K〉>%循环结构计算pi值
y=0;
n=input('
n=’);
fori=1:
n
y=y+1/i/i;
end
pi=sqrt(6*y)
n=100
pi=
3、1321
n=1000
pi=
3、1406
n=10000
pi =
3、1415
%向量方法计算Pi值
n=input(’n='
i=1、/(1:
n)、^2;
s=sum(i);
pi=sqrt(6*s)
n=100
pi=
3、1321
n=1000
pi=
3、1406
n=10000
pi=
3、1415
2、根据,求:
(1)y<
3时得最大n值.
(2)与
(1)得n值对应得y值。
M—文件如下:
运行结果如下:
K〉>y=0;
n=0;
while y〈3
n=n+1;
y=y+1/(2*n-1);
y
ify>
3
n=n—1;
end
3、0033
n =
57
n=
56
3、考虑以下迭代公式:
其中a、b为正得学数。
(1)编写程序求迭代得结果,迭代得终止条件为|xn+1-xn|≤10—5,迭代初值x0=1、0,迭代次数不超过500次.
(2)如果迭代过程收敛于r,那么r得准确值就是,当(a,b)得值取(1,1)、(8,3)、(10,0、1)时,分别对迭代结果与准确值进行比较。
运算结果如下;
请输入正数a=1
请输入正数b=1
x=
0、6180
r=
0、6180—4、7016
r =
0、6180 -1、6180
s=
-0、0000 —2、2361
请输入正数a=8
请输入正数b=3
x=
1、7016
r=
1、7016—1、6180
r=
1、7016—4、7016
s =
1.0-6、4031
请输入正数a=10
请输入正数b=0、1
x =
3、1127
r =
3、1127 -4、7016
3、1127-3、2127
s=
-0、0000 —6、3254
4、已知
求f1~f100中:
(1)最大值、最小值、各数之与。
(2)正数、零、负数得个数。
M-文件
以下就是运算结果:
max(f)=437763282635
min(f)=—899412113528
sum(f)=-742745601951
c1=49
c2=2
c3=49
5、 若两个连续自然数得乘积减1就是素数,则称这两个边疆自然数就是亲密数对,该素数就是亲密素数.例如,2×
3-1=5,由于5就是素数,所以2与3就是亲密数,5就是亲密素数。
求[2,50]区间内:
(1)亲密数对得对数.
(2) 与上述亲密数对对应得所有亲密素数之与。
运算结果为:
j =
29
s=
23615
实验五函数文件
1、 理解函数文件得概念.
2、掌握定义与调用MATLAB函数得方法。
1、定义一个函数文件,求给定复数得指数、对数、正弦与余弦,并在命令文件中调用该函数文件。
函数fushu、M文件:
function[e,l,s,c] = fushu(z)
%fushu复数得指数,对数,正弦,余弦得计算
%e 复数得指数函数值
%l 复数得对数函数值
%s 复数得正弦函数值
%c复数得余弦函数值
e=exp(z);
l=log(z);
s=sin(z);
c=cos(z);
命令文件M:
z=input(’请输入一个复数z=');
[a,b,c,d]=fushu(z)
运算结果如下:
z=input('
请输入一个复数z=’);
[a,b,c,d]=fushu(z)
请输入一个复数z=1+i
a=
1、4687+2、2874i
b =
0、3466+0、7854i
c =
1、2985+ 0、6350i
d=
0、8337-0、9889i
2、一物理系统可用下列方程组来表示:
从键盘输入m1、m2与θ得值,求a1、a2、N1与N2得值.其中g取9、8,输入θ时以角度为单位。
定义一个求解线性方程组AX=B得函数文件,然后在命令文件中调用该函数文件。
M文件
函数fc、M文件:
functionX=fc(A,B)
%fc fc就是求解线性方程得函数
%AA就是未知矩阵得系数矩阵
X=A\B;
命令M文件:
clc;
m1=input('输入m1=’);
m2=input('输入m2=');
theta=input('输入theta=');
x=theta*pi/180;
g=9、8;
A=[m1*cos(x)—m1-sin(x) 0
m1*sin(x)0cos(x)0
0m2-sin(x)0
00—cos(x)1];
B=[0;
m1*g;
0;
m2*g]