3-1 编写程序,建立向量N=【1,2,3,4,5】,然后利用向量N产生下列向量:
(1) 2,4,6,8,10
>> N=[1,2,3,4,5];
>> 2*N
ans =
2 4 6 8 10
(2)1/2,1,3/2,2,5/2
>> 1/4*N
ans =
0.2500 0.5000 0.7500 (3)1,1/2,1/3,1/4,1/5
>> 1./N
ans =
1.0000 1.2500
1.0000 0.5000 0.3333 0.2500 0.2000
(4)1,1/4,1/9,1/16,1/25
>> 1./(N.*N)
ans =
1.0000 0.2500 0.1111 0.0625 0.0400
3-2 从键盘输入一个三位整数,将它反向输入。如输入639,输出936.
x=input('百位');
y=input('十位');
z=input('个位');
a=x*100+y*10+z
t=x;
x=z;
z=t;
a=x*100+y*10+z
>> f1
百位3
十位2
个位1
a =
321
a =
123
3-3输入一个百分制成绩,要求输出成绩等级A,B,C,D,E.其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下的为E。
A='A';
B='B';
C='C';
D='D';
E='E';
x=input('x=');
if x>=90
disp (A);
elseif x>=80
disp(B);
elseif x>=70
sisp(C);
elseif x>=60
disp(D);
elseif x<60
disp(E);
end
>> f1
x=92
A
>> f1
x=65
D
>> f1
x=32
E
3-6输入20个数,求其中最大数和最小数。要求分别用循环结构和调用Matlab的Max函数和min函数来实现。
B=input('input twenty numbers');
c=B(1);
d=B(1);
for i=1:20
c=max(c,B(i));
d=min(d,B(i));
end
disp (c)
disp (d)
>> f2
input twenty numbers[1 2 5 45 8 6 3 12 4 2 654 1 1 1 2 3 4 5 26 789]
789
1
e0.3ae0.3a0.3aysin(a0.3)ln22,当a取-3.0,-2.9,-2.8,……,2.8,2.9,3.03-7
时,求各点的函数值。要求分别用顺序结构和循环结构实现。
for i=-3.0:0.1:3.0
a=i
y=((exp(0.3*a)-exp(-0.3*a))/2)*(sin(a+0.3))+(log((0.3+a)/2))
end
>> f2
a =
-3
y =
0.7388 + 3.1416i
a =
-2.9000
y =
0.7696 + 3.1416i
a =
-2.8000
y =
0.7871 + 3.1416i
a =
-2.7000
y =
0.7913 + 3.1416i
a =
-2.6000
y =
0.7822 + 3.1416i
a =
-2.5000
y =
0.7602 + 3.1416i
a =
-2.4000
y =
0.7254 + 3.1416i
a =
-2.3000
y =
0.6784 + 3.1416i
a =
-2.2000
y =
0.6196 + 3.1416i
a =
-2.1000
y =
0.5496 + 3.1416i
a =
-2
y =
0.4688 + 3.1416i
a =
-1.9000
y =
0.3780 + 3.1416i
a =
-1.8000
y =
0.2775 + 3.1416i
a =
-1.7000
y =
0.1680 + 3.1416i
a =
-1.6000
y =
0.0497 + 3.1416i
a =
-1.5000
y =
-0.0771 + 3.1416i
a =
-1.4000
y =
-0.2124 + 3.1416i
a =
-1.3000
y =
-0.3566 + 3.1416i
a =
-1.2000
y =
-0.5104 + 3.1416i
a =
-1.1000
y =
-0.6752 + 3.1416i
a =
-1
y =
-0.8536 + 3.1416i
a =
-0.9000
y =
-1.0497 + 3.1416i
a =
-0.8000
y =
-1.2701 + 3.1416i
a =
-0.7000
y =
-1.5271 + 3.1416i
a =
-0.6000
y =
-1.8436 + 3.1416i
a =
-0.5000
y =
-2.2727 + 3.1416i
a =
-0.4000
y =
-2.9837 + 3.1416i
a =
-0.3000
y =
-37.0245
a =
-0.2000
y =
-3.0017
a =
-0.1000
y =
-2.3085
a =
0
y =
-1.8971
a =
0.1000
y =
-1.5978
a =
0.2000
y =
-1.3575
a =
0.3000
y =
-1.1531
a =
0.4000
y =
-0.9723
a =
0.5000
y =
-0.8083
a =
0.6000
y =
-0.6567
a =
0.7000
y =
-0.5151
a =
0.8000
y =
-0.3819
a =
0.9000
y =
-0.2561
a =
1
y =
-0.1374
a =
1.1000
y =
-0.0255
a =
1.2000
y =
0.0792
a =
1.3000
y =
0.1766
a =
1.4000
y =
0.2663
a =
1.5000
y =
0.3478
a =
1.6000
y =
0.4206
a =
1.7000
y =
0.4841
a =
1.8000
y =
0.5379
a =
1.9000
y =
0.5815
a =
2
y =
0.6145
a =
2.1000
y =
0.6366
a =
2.2000
y =
0.6474
a =
2.3000
y =
0.6470
a =
2.4000
y =
0.6351
a =
2.5000
y =
0.6119
a =
2.6000
y =
0.5777
a =
2.7000
y =
0.5327
a =
2.8000
y =
0.4774
a =
2.9000
y =
0.4126
a =
3
y =
0.3388
3-8 当n分别取100、1000、10000时,求下列各式的值:
111222123(1)
12n(2)6
n=input('n');
s=0;
for i=1:n
c=i+i;
d=1/c;
s=s+d;
end
disp (s)
>> f2
n100
2.5937
>> f2
n1000
3.7427
>> f2
n10000
4.8938
>>
11y1353-10根据
1,2n1求:
(1)y<3时的最大n值。
(2)与(1)的n值对应的y值。
y=0;
for i=1:(2*n-1)
a=1/i ;
y=y+a;
if y>=3
n=i-1
y=y-a
break
end
end
>> f2
n =
10
y =
2.9290
3-12 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。
function c=cji(A,B)
c=A*B;
>> A=[2 3];
>> B=[2;3];
>> c=cji(A,B)
c =
13
function d=dji(A,B)
d=A.*B;
>> A=[1 2 3];
>> B=[1 2 3];
>> d=dji(A,B)
d =
1 4 9
因篇幅问题不能全部显示,请点此查看更多更全内容