:
:
1
(4)z4=*t2—11Etc2,其中t=0:
0.5:
2.5
t2-2t+12兰t<3
解:
M文件:
z1=2*sin(85*pi/180”(1+exp
(2))
x=[21+2*i;-.455];
z2=1/2*log(x+sqrt(1+xA2))
a=-3.0:
0.1:
3.0;
z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:
0.5:
2.5;
z4=(t>=0&t<1).*(t.A2)+(t>=1&t<2).*(t.A2-1)+(t>=2&t<3).*(t.A2-2*t+1)
运算结果:
z1=2*sin(85*pi/180)/(1+exp
(2))
x=[21+2*i;-.455];
z2=1/2*log(x+sqrt(1+xA2))
a=-3.0:
0.1:
3.0;
z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:
0.5:
2.5;
z4=(t>=0&t<1).*(t.A2)+(t>=1&t<2).*(t.A2-1)+(t>=2&t<3).*(t.A2-2*t+1)
z1=
0.2375
z2=
0.7114-0.0253i
0.8968+0.3658i
0.2139+0.9343i
1.1541-0.0044i
z3=
Columns1through4
0.7388+3.1416i
0.7696+3.1416i
0.7871+3.1416i
0.7913
+3.1416i
Columns5through8
0.7822+3.1416i
0.7602+3.1416i
0.7254+3.1416i
0.6784
+3.1416i
Columns9through12
3.1416i
Columns13through16
3.1416i
Columns17through20
3.1416i
Columns21through24
3.1416i
Columns25through28
Columns29through32
-1.5978
Columns33through36
-1.3575
-1.1531
-0.9723
-0.8083
Columns37through40
-0.6567
-0.5151
-0.3819
-0.2561
Columns41through44
-0.1374
-0.0255
0.0792
0.1766
Columns45through48
0.2663
0.3478
0.4206
0.4841
Columns49through52
0.5379
0.5815
0.6145
0.6366
Columns53through56
0.6474
0.6470
0.6351
0.6119
Columns57through60
0.5777
0.5327
0.4774
0.4126
Column61
0.3388
z4=
0
0.2500
0
1.2500
1.0000
2.2500
3.已知:
求下列表达式的值:
(1)A+6*B和A-B+I(其中I为单位矩阵)
(2)A*B和A.*B
(3)AA3和A.A3
⑷A/B及B\A
(5)[A,B]和[A([1,3],:
);BA2]
解:
M文件:
A=[1234-4;34787;3657];B=[13-1;203;3-27];
A+6.*B
A-B+eye(3)
A*B
A.*B
AA3
A.A3
A/B
B\A
[A,B]
[A([1,3],:
);BT]
运算结果:
A=[1234-4;34787;3657];B=[13-1;203;3-27];
A+6.*B
A-B+eye(3)
A*B
A.*B
AA3
A.A3
A/B
B\A
[A,B]
[A([1,3],:
);BA2]ans=
18
52
-10
46
7
105
21
53
49
12
31
-3
ans
32
8
84
0
67
1
ans=
68
44
62
309
-72
596
154
-5
241
ans=
12
102
4
68
0
261
9
-130
49
ans=
37226
233824
48604
247370
149188
600766
78688
454142
118820
ans=
1728
39304
-64
39304
343
658503
27
274625
343
ans=
16.4000-
13.60007.6000
35.8000-76.200050.2000
67.0000-134.000068.0000
ans=
109.4000-131.2000322.8000
-53.000085.0000-171.0000
-61.600089.8000-186.2000
ans=
12
34
-4
1
3
-1
34
7
87
2
0
3
3
65
7
3
-2
7
ans=
12
34
-4
3
65
7
4
5
1
11
0
19
20
-5
40
4.设有矩阵A和B
(1)求它们的乘积C。
(2)将矩阵C的右下角3X2子矩阵赋给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=
93
150
77
258
335
237
423
520
397
588
705
557
753
890
717
H
=
520
397
705
557
890
717
5.完成下列操作:
(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=
MA
TLAB矩阵分析与处理
123d4e56g9
S
=
1
0
0
2
A
=
1.0000
0
00.53830.4427
0
1.0000
00.99610.1067
0
0
1.00000.07820.9619
0
0
01.00000
0
0
002.0000
a
=
1.0000
0
01.07671.3280
0
1.0000
01.99230.3200
0
0
1.00000.15642.8857
0
0
01.00000
0
0
004.0000
ans=
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
解:
M文件如下;输出结果:
由ans,所以A2
ERRS
!
oS2.
2.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。
为什么?
解:
M文件如下:
输出结果:
H=
1.0000
0.5000
0.3333
0.2500
0.2000
0.5000
0.3333
0.2500
0.2000
0.1667
0.3333
0.2500
0.2000
0.1667
0.1429
0.2500
0.2000
0.1667
0.1429
0.1250
0.2000
0.1667
0.1429
0.1250
0.1111
1
1
1
1
1
1
2
3
4
5
1
3
6
10
15
1
4
10
20
35
1
5
15
35
70
Hh=
3.7493e-012
Hp=
1
Th=
4.7661e+005
Tp=
8.5175e+003
因为它们的条件数Th»Tp,所以pascal矩阵性能更好。
3.建立一个5X5矩阵,求它的行列式值、迹、秩和范数。
解:
M文件如下:
输出结果为:
A=
17
24
1
8
15
23
5
7
14
16
4
6
13
20
22
10
12
19
21
3
11
18
25
2
9
d=
5070000t=
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
D
0.3487
0.5501
0.4050
-25.3169
0
0
0
-10.5182
0
0
0
16.8351
数学意义:
V的3个列向量是A的特征向量,D的主对角线上3个是A的特征值,特别的,V的3
个列向量分别是D的3个特征值的特征向量。
5.下面是一个线性方程组:
(1)求方程的解。
⑵将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。
(3)计算系数矩阵A的条件数并分析结论。
解:
M文件如下:
输出结果:
X=
1.2000
0.6000
0.6000
X2=
1.2000
0.6000
0.6000
C=
1.3533e+003
由结果,X和X2的值一样,这表示b的微小变化对方程解也影响较小,而A的条件数算得较小,所
以数值稳定性较好,A是较好的矩阵。
6.建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。
解:
M文件如下:
运行结果有:
A=
16
6
18
20
9
5
8
12
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.8284
2.2361
b=
16.0000
6.0000
18.0000
20.0000
5.0000
12.0000
9.0000
8.0000
5.0000
分析结果知:
sqrtm(A)是类似A的数值平方根(这可由b1*b仁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)
y=
5
>>f(5)
y=
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
输入一个运算符:
+
c=
132
5.建立5X6矩阵,要求输出矩阵第__n行元素。
当n值超过矩阵的行数时,自动转为输出矩阵最后行元素,并给出出错信息。
解:
M文件如下:
运算结果如下:
一个5行6列矩^A=[123455;234576;222223;1123973;234567]
输入一正整数n=4
1123973
输入一个5行6列矩阵A=[123455;234576;222223;1123973;234567]
输入一正整数n=6
234567
ans=
Errorusing==>disp
Toomanyinputarguments.
实验四循环结构程序设计
、实验目的
1.掌握利用for语句实现循环结构的方法。
2.掌握利用while语句实现循环结构的方法。
3.熟悉利用向量运算来代替循环操作的方法。
、实验内容
2
兀2111…1
1.根据2222,求n的近似值。
当n分别取100、1000、10000时,结果
6122232n2
是多少?
要求:
分别用循环结构和向量运算(使用sum函数)来实现。
解:
M文件如下:
运行结果如下:
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)92;
s=sum(i);
pi=sqrt(6*s)
n=100
Pi=
3.1321
n=1000
Pi=
3.1406
n=10000
Pi=
3.1415
求:
111
2.根据y=1■
352n-1
(1)y<3时的最大n值。
(2)与
(1)的n值对应的y值。
解:
M—文件如下:
运行结果如下:
K>>y=0;n=0;
whiley<3
n=n+1;
y=y+1/(2*n-1);
end
y
n
ify>3
n=n-1;
end
n
y=
3.0033
n=
57
n=
56
3.考虑以下迭代公式:
其中a、b为正的学数。
(1)编写程序求迭代的结果,迭代的终止条件为|Xn+1-Xn|<10-5,迭代初值X0=1.0,迭代次数不超
过500次。
.bb2:
卜4a
⑵如果迭代过程收敛于r,那么r的准确值是,当(a,b)的值取(1,1)、(8,3)、(10,0.1)
2
时,分别对迭代结果和准确值进行比较。
解:
M文件如下:
运算结果如下;
请输入正数
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=
0.0
-6.4031
请输入正数
a=10
请输入正数
b=0.1
x=r=
3.1127
r=
3.1127
-4.7016
3.1127
-3.2127
s=
-0.0000
-6.3254
4.已知
求fi~floo中:
(1)最大值、最小值、各数之和。
(2)正数、零、负数的个数。
解:
M—文件
以下是运算结果:
max(f)=2635
min(f)=-3528
sum(f)=-1951
c1=49
c2=2
c3=49
5.若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素
数。
例如,2X3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。
求[2,50]区间内:
(1)亲密数对的对数。
(2)与上述亲密数对对应的所有亲密素数之和。
解:
M文件:
运算结果为:
j=
29
s=
23615
实验五函数文件
、实验目的
1.理解函数文件的概念。
2.掌握定义和调用MATLAB函数的方法。
、实验内容
1.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。
解:
M文件如下:
函数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.一物理系统可用下列方程组来表示:
从键盘输入m「m2和B的值,求a2、N1和N2的值。
其中g取9.8,输入B时以角度为单位。
要求:
定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文件。
解:
M文件
函数fc.M文件:
functionX=fc(A,B)
%fcfc是求解线性方程的函数
%AA是未知矩阵的系数矩阵
X=A\B;
命令M文件:
clc;
m1=input('输入m仁');
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)
运算结果:
输入m仁1
输入m2=1
输入theta=30
X=
7.8400
3.3948
6.7896
15.6800
3.一个自然数是素数,且它的数字位置经过任意对换后仍为素数。
例如13是绝对素数。
试求所有两
位绝对素数。
要求:
定义一个判断素数的函数文件。
解:
M文件:
函数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的元素剔除,其余的即为素数end
P;
命令文件:
clc;
p=10:
99;
p=prime(p);%找出10到99内的所有素数
p=10*rem(p,10)+(p-rem(p,10))/10;
%将p素数矩阵每个元素个位十位调换顺序
p=prime(p)
%再对对换后的素数矩阵找出所有的素数
运算结果:
p=
11
31
71
13
73
17
37
97
79
11
4