理学MATLAB刘卫国版本Word格式文档下载.docx
《理学MATLAB刘卫国版本Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《理学MATLAB刘卫国版本Word格式文档下载.docx(67页珍藏版)》请在冰豆网上搜索。
Columns31through33
-1.8971-1.5978-1.3575
Columns34through36
-1.1531-0.9723-0.8083
Columns37through39
-0.6567-0.5151-0.3819
Columns40through42
-0.2561-0.1374-0.0255
Columns43through45
0.07920.17660.2663
Columns46through48
0.34780.42060.4841
Columns49through51
0.53790.58150.6145
Columns52through54
0.63660.64740.6470
Columns55through57
0.63510.61190.5777
Columns58through60
0.53270.47740.4126
Column61
0.3388
⑷
t=(0:
0.5:
2.5);
z4=(t>
=0&
t<
1).*(t.^2)+(t>
=1&
2).*(t.^2-1)+(2<
=t&
3).*(t.^2-2.*t+1)
z4=
00.250001.25001.00002.2500
2.已知:
,求下列表达式的值:
(其中I为单位矩阵);
;
⑷
⑸
.
A=[1234-4;
34787;
3657];
B=[13-1;
203;
3-27];
I=[100;
010;
001];
A+6*B
ans=
1852-10
467105
215349
A-B+I
1231-3
32884
0671
A^3
3722623382448604
247370149188600766
78688454142118820
A.^3
172839304-64
39304343658503
27274625343
A/B
16.4000-13.60007.6000
35.8000-76.200050.2000
67.0000-134.000068.0000
B\A
109.4000-131.2000322.8000
-53.000085.0000-171.0000
-61.600089.8000-186.2000
[A,B]
1234-413-1
34787203
36573-27
[A([1,3],:
);
B^2]
1234-4
3657
451
11019
20-540
3.设有矩阵A和B:
⑴求它们的乘积C;
⑵将矩阵C的右下角
子矩阵赋给D;
⑶查看MATLAB工作空间的使用情况。
A=[12345;
678910;
1112131415;
1617181920;
2122232425];
B=[3016;
17-69;
023-4;
970;
41311];
C=A*B
C=
9315077
258335237
423520397
588705557
753890717
D=C([3,4,5],[2,3])
D=
520397
705557
890717
whos
NameSizeBytesClassAttributes
A5x5200double
B5x3120double
C5x3120double
D3x248double
4.完成下列操作:
⑴求[100,999]之间能被21整除的数的个数;
⑵建立一个字符串向量,删除其中的大写字母。
A=100:
1:
999;
K=find(rem(A,21)==0);
length(K)
43
>
ch='
aHDJLK143663CFHI'
H=find(ch>
='
A'
&
ch<
'
Z'
ch(H)=[]
ch=
a143663
实验二MATLAB矩阵分析与处理
二
(1)E=eye(3);
R=rand(3,2);
O=zeros(2,3);
S=diag([2,3]);
A=[E,R;
O,S];
A^2
B=[E,(R+R*S);
O,S^2]
1.0000002.85041.9439
01.000000.69343.5652
001.00001.82053.0484
0004.00000
00009.0000
B=
(2)>
H=hilb(5)
P=pascal(5)
Hh=det(H)
Hp=det(P)
Th=cond(H)
Tp=cond(P)
H=
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
(3)>
A=fix(10*rand(5))
H=det(A)
Trace=trace(A)
Rank=rank(A)
Norm=norm(A)
A=
78076
45643
92335
46811
48516
-6498
Trace=
22
Rank=
5
Norm=
23.8478
(4)>
A=[-29,6,18;
20,5,12;
-8,8,5]
[V,D]=eig(A)
%数学意义略
-29618
20512
-885
V=
0.71300.28030.2733
-0.6084-0.78670.8725
0.34870.55010.4050
D=
-25.316900
0-10.51820
0016.8351
(5)A=hilb(4)
A(:
1)=[]
A(4,:
)=[]
B=[0.95,0.67,0.52]'
X=inv(A)*B
B1=[0.95,0.67,0.53]'
X1=inv(A)*B1
N=cond(B)
N1=cond(B1)
Na=cond(A)%矩阵A为病态矩阵
1.00000.50000.33330.2500
0.50000.33330.25000.2000
0.33330.25000.20000.1667
0.25000.20000.16670.1429
0.50000.33330.2500
0.33330.25000.2000
0.25000.20000.1667
0.20000.16670.1429
X=
1.2000
0.6000
X1=
3.0000
-6.6000
6.6000
N=
N1=
Na=
1.3533e+003
(6)A=[1,4,9;
16,25,36;
49,64,81]
B=sqrtm(A)
C=sqrt(A)%sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算
149
162536
496481
0.6344+1.3620i0.3688+0.7235i0.7983-0.4388i
1.4489+1.1717i2.7697+0.6224i3.2141-0.3775i
4.3578-1.6237i5.7110-0.8625i7.7767+0.5231i
C=
123
456
789
实验三选择程序结构设计
二、
(1)x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
y=[];
%建立存放所有y值的矩阵
forx0=x
ifx0<
0&
x0~=-3
y=[y,x0*x0+x0-6];
elseifx0>
x0<
5&
x0~=2&
x0~=3
y=[y,x0*x0-5*x0+6];
else
y=[y,x0*x0-x0-1];
end
end
x%输出所有x
y
x=
-5.0000-3.00001.00002.00002.50003.00005.0000
y=
14.000011.00002.00001.0000-0.25005.000019.0000
(2)x=input('
请输入一个百分制成绩:
ifx>
100|x<
disp('
您输入的成绩不是百分制成绩,请重新输入。
else
ifx<
=100&
x>
=90
elseifx<
=89&
=80
B'
=79&
=70
C'
=69&
60
D'
E'
89
B
(3)n=input('
请输入员工工号:
h=input('
该员工工作时数是:
ifh>
120
x=(h-120)*84*(1+0.15)+120*84;
elseifh<
x=h*84-700;
x=h*84;
disp([num2str(n),'
号员工'
'
的应发工资为'
num2str(x)]);
59
45
59号员工的应发工资为3080
a=fix(10+(99-10)*rand(1,2))%产生两个随机整数
x=a
(1);
y=a
(2);
t=input('
请输入运算符号:
s'
ift=='
+'
z=x+y;
elseift=='
-'
z=x-y;
*'
z=x*y;
/'
z=x/y;
disp([num2str(x),t,num2str(y),'
num2str(z)])
a=
4386
+
43+86=129
(5)>
a=rand(5,6)%产生5x6的随机矩阵
n=input('
请输入您要输出矩阵的第几行:
ifn>
5
disp('
超出了矩阵的行数,矩阵的最后一行为:
)
a(5,:
disp(['
矩阵的第'
num2str(n),'
行为:
])
a(n,:
0.85370.64490.34120.56810.69460.8801
0.59360.81800.53410.37040.62130.1730
0.49660.66020.72710.70270.79480.9797
0.89980.34200.30930.54660.95680.2714
0.82160.28970.83850.44490.52260.2523
85
实验四循环结构程序设计
二
(1)>
s=0;
n=?
fori=1:
n
s=s+1/i/i;
PI=sqrt(6*s)
pi
PI=
0
3.1416
y=0;
n=1;
while(y<
3)
y=y+1/(2*n-1);
n=n+1;
y=y-1/(2*(n-1)-1)
n=n-2
2.9944
n=
56
a=input('
a=?
b=input('
b=?
Xn=1;
Xn1=a/(b+Xn);
n=0;
whileabs(Xn1-Xn)>
1e-5
Xn=Xn1;
Xn1=a/(b+Xn);
n=n+1;
ifn==500
break;
Xn1
r1=(-b+sqrt(b*b+4*a))/2
r2=(-b-sqrt(b*b+4*a))/2
3
Xn1=
1.4788
r1=
r2=
-57.4788
(4)fori=1:
100
ifi==1
f(i)=1;
elseifi==2
f(i)=0;
elseifi==3
f(i)=f(i-1)-2*f(i-2)+f(i-3);
max(f)
min(f)
sum(f)
length(find(f>
0))
length(find(f==0))
length(find(f<
4.3776e+011
-8.9941e+011
-7.4275e+011
49
2
fori=2:
49
b=i*(i+1)-1;
m=fix(sqrt(b));
forj=2:
m
ifrem(b,j)==0
break
ifj==m
s=s+b;
s
28
s=
21066
实验五函数文件
二
(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);
z=input('
请输入一个复数z='
[a,b,c,d]=fushu(z)
请输入一个复数z=1+i
命令文件M:
1.4687+2.2874i
b=
0.3466+0.7854i
c=
1.2985+0.6350i
d=
0.8337-0.9889i
(2)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=function(A,B)
输入m1=1
输入m2=1
输入theta=30
7.8400
3.3948
6.7896
15.6800
(3)functionflag=mat3(x)
flag=1;
sqrt(x)
ifrem(x,i)==0
flag=0;
%在命令窗口调用该函数文件:
fori=10:
99
j=10*rem(i,10)+fix(i/10);
ifmat3(i)&
mat3(j)
disp(i)
j=
113171137317379779
(4)函数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;
命令文件:
clc;
x=input('
输入矩阵x='
f=fx(x)
x=input('
运算结果
输入矩阵x=[72;
125]
f=
0.043710.9901
0.01010.1724
(5)
(1)函数f.m文件:
functionf=f(x)
f=x+10*log(x^2+5);
n1=input('
n1='
n2=input('
n2='
n3=input('
n3='
y1=f(n1);
y2=f(n2);
y3=f(n3);
y=y1/(y2+y3)
运算结果如下
n1=40
n2=30
n3=20
0.6390
(5)
(2)函数g.m文件
functions=g(n)
g(i)=i*(i+1);
s=sum(g);
y1=g(n1);
y2=g(n2);
y3=g(n3);
1.7662
实验六高层绘图操作
(1)>
x=linspace(0,2*pi,101);
y=(0.5+3*sin(x)./(1+x.^2)).*cos(x);
plot(x,y)
(2)a>
x=linspace(-2*pi,2*pi,100);
y1=x.^2;
y2=cos(2*x);
y3=y1.*y2;
plot(x,y1,'
b-'
x,y2,'
r:
x,y3,'
y--'
text(4,16,'
\leftarrowy1=x^2'
text(6*pi/4,-