MATLAB程序设计与应用刘卫国编课后实验答案文档格式.docx
- 文档编号:20369444
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:91
- 大小:1.08MB
MATLAB程序设计与应用刘卫国编课后实验答案文档格式.docx
《MATLAB程序设计与应用刘卫国编课后实验答案文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用刘卫国编课后实验答案文档格式.docx(91页珍藏版)》请在冰豆网上搜索。
Columns33through36
-1、3575-1、1531-0、9723-0、8083
Columns37through40
-0、6567-0、5151-0、3819-0、2561
Columns41through44
-0、1374-0、02550、07920、1766
Columns45through48
0、26630、34780、42060、4841
Columns49through52
0、53790、58150、61450、6366
Columns53through56
0、64740、64700、63510、6119
Columns57through60
0、57770、53270、47740、4126
Column61
0、3388
z4=
00、250001、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;
34787;
3657];
B=[13-1;
203;
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],:
ans=
1852-10
467105
215349
1231-3
32884
0671
684462
309-72596
154-5241
121024
680261
9-13049
3722623382448604
247370149188600766
78688454142118820
172839304-64
39304343658503
27274625343
16、4000-13、60007、6000
35、8000-76、200050、2000
67、0000-134、000068、0000
109、4000-131、2000322、8000
-53、000085、0000-171、0000
-61、600089、8000-186、2000
1234-413-1
34787203
36573-27
1234-4
3657
451
11019
20-540
3、设有矩阵A与B
(1)求它们的乘积C。
(2)将矩阵C的右下角3×
2子矩阵赋给D。
(3)查瞧MATLAB工作空间的使用情况。
、运算结果:
E=(reshape(1:
1:
25,5,5))'
;
F=[3016;
17-69;
023-4;
970;
41311];
C=E*F
H=C(3:
5,2:
3)
C=
9315077
258335237
423520397
588705557
753890717
H=
520397
705557
890717
4、完成下列操作:
(1)求[100,999]之间能被21整除的数的个数。
(2)建立一个字符串向量,删除其中的大写字母。
(1)结果:
m=100:
999;
n=find(mod(m,21)==0);
length(n)
43
(2)、建立一个字符串向量例如:
ch='
ABC123d4e56Fg9'
则要求结果就是:
k=find(ch>
='
A'
&
ch<
Z'
ch(k)=[]
ch=
123d4e56g9
实验二MATLAB矩阵分析与处理
1、设有分块矩阵
其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证
。
M文件如下;
输出结果:
S=
10
02
A=
1、0000000、53830、4427
01、000000、99610、1067
001、00000、07820、9619
0001、00000
00002、0000
a=
1、0000001、07671、3280
01、000001、99230、3200
001、00000、15642、8857
00004、0000
00000
由ans,所以
2、产生5阶希尔伯特矩阵H与5阶帕斯卡矩阵P,且求其行列式的值Hh与Hp以及它们的条件数Th与Tp,判断哪个矩阵性能更好。
为什么?
M文件如下:
1、00000、50000、33330、25000、2000
0、50000、33330、25000、20000、1667
0、33330、25000、20000、16670、1429
0、25000、20000、16670、14290、1250
0、20000、16670、14290、12500、1111
P=
11111
12345
1361015
14102035
15153570
Hh=
3、7493e-012
Hp=
1
Th=
4、7661e+005
Tp=
8、5175e+003
因为它们的条件数Th>
>
Tp,所以pascal矩阵性能更好。
3、建立一个5×
5矩阵,求它的行列式值、迹、秩与范数。
M文件如下:
输出结果为:
17241815
23571416
46132022
101219213
11182529
d=
5070000
t=
65
c1=
6、8500
c2=
5、4618
cinf=
4、已知
求A的特征值及特征向量,并分析其数学意义。
M文件如图:
V=
0、71300、28030、2733
-0、6084-0、78670、8725
0、34870、55010、4050
D=
-25、316900
0-10、51820
0016、8351
数学意义:
V的3个列向量就是A的特征向量,D的主对角线上3个就是A的特征值,特别的,V的3个列向量分别就是D的3个特征值的特征向量。
5、下面就是一个线性方程组:
(1)求方程的解。
(2)将方程右边向量元素b3改为0、53再求解,并比较b3的变化与解的相对变化。
(3)计算系数矩阵A的条件数并分析结论。
X=
1、2000
0、6000
X2=
1、3533e+003
由结果,X与X2的值一样,这表示b的微小变化对方程解也影响较小,而A的条件数算得较小,所以数值稳定性较好,A就是较好的矩阵。
6、建立A矩阵,试比较sqrtm(A)与sqrt(A),分析它们的区别。
运行结果有:
16618
20512
985
b1=
3、8891-0、11023、2103
3、29172、14360、3698
0、38552、07601、7305
b2=
4、00002、44954、2426
4、47212、23613、4641
3、00002、82842、2361
b=
16、00006、000018、0000
20、00005、000012、0000
9、00008、00005、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值。
运算结果有:
f(-5)
y=
14
f(-3)
11
f
(1)
2
f
(2)
f(2、5)
-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文件如下;
运算结果例:
38
33
输入一个运算符:
^
c=
false
92
40
+
132
5、建立5×
6矩阵,要求输出矩阵第n行元素。
当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。
运算结果如下:
输入一个5行6列矩阵A=[123455;
234576;
222223;
1123973;
234567]
输入一正整数n=4
1123973
输入一正整数n=6
234567
Errorusing==>
disp
Toomanyinputarguments、
实验四循环结构程序设计
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
3、1406
n=10000
3、1415
%向量方法计算Pi值
i=1、/(1:
n)、^2;
s=sum(i);
pi=sqrt(6*s)
2、根据
求:
(1)y<
3时的最大n值。
(2)与
(1)的n值对应的y值。
M—文件如下:
y=0;
n=0;
whiley<
3
n=n+1;
y=y+1/(2*n-1);
y
ify>
n=n-1;
3、0033
n=
57
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
0、6180-1、6180
s=
-0、0000-2、2361
请输入正数a=8
请输入正数b=3
1、7016
1、7016-1、6180
1、7016-4、7016
1.0-6、4031
请输入正数a=10
请输入正数b=0、1
3、1127
3、1127-4、7016
3、1127-3、2127
-0、0000-6、3254
求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
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=1+i
1、4687+2、2874i
0、3466+0、7854i
1、2985+0、6350i
0、8337-0、9889i
2、一物理系统可用下列方程组来表示:
从键盘输入m1、m2与θ的值,求a1、a2、N1与N2的值。
其中g取9、8,输入θ时以角度为单位。
定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文件。
M文件
函数fc、M文件:
functionX=fc(A,B)
%fcfc就是求解线性方程的函数
%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];
X=fc(A,B)
输入m1=1
输入m2=1
输入theta=30
7、8400
3、3948
6、7896
15、6800
3、一个自然数就是素数,且它的数字位置经过任意对换后仍为素数。
例如13就是绝对素数。
试求所有两位绝对素数。
定义一个判断素数的函数文件。
函数prime、m文件
function[p]=prime(p)
%输入p的范围,找出其中的素数
m=p(length(p));
fori=2:
sqrt(m)
n=find(rem(p,i)==0&
p~=i);
p(n)=[];
%将p中能被i整除,而却不等于i的元素,即下标为n的元素剔除,其余的即为素数
p;
命令文件:
p=10:
99;
p=prime(p);
%找出10到99内的所有素数
p=10*rem(p,10)+(p-rem(p,10))/10;
%将p素数矩阵每个元素个位十位调换顺序
p=prime(p)
%再对对换后的素数矩阵找出所有的素数
p=
113171137317379779
4、设
编写一个MATLAB函数文件fx、m,使得调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。
函数fx、m文件:
functionf=fx(x)
%fxfx求算x矩阵下的f(x)的函数值
A=0、1+(x-2)、^2;
B=0、01+(x-3)、^4;
f=1、/A+1、/B;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 程序设计 应用 卫国 课后 实验 答案