实验1Matlab基本操作M文件和流程控制语句+答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 Matlab基本操作、M文件和流程控制语句-答案
1、计算以下表达式的值,将结果按不同格式输出。掌握format命令的使用方法。(1)
(2),其中
(3),其中
以(1)为例,其余类似。
(1)>> y=1.3^3*sin(pi/3)*sqrt(26)
y =
9.7017
>> format long
>> y=1.3^3*sin(pi/3)*sqrt(26)
y =
9.70168931166114
>> format short e
>> y=1.3^3*sin(pi/3)*sqrt(26)
y =
9.7017e+000
>> format bank
>> y=1.3^3*sin(pi/3)*sqrt(26)
y =
9.70
>> format rat
>> y=1.3^3*sin(pi/3)*sqrt(26)
y =
2862/295
(2)>> format short
>> x=[2 1+2*i;-0.45 5]
x =
2.0000 1.0000 + 2.0000i
-0.4500 5.0000
>> y=(1/2)*log(x+sqrt(1+x^2))
y =
0.7114 - 0.0253i 0.8968 + 0.3658i
0.2139 + 0.9343i 1.1541 - 0.0044i
(3)
>> format short
>> x=-3:0.1:3;
>> y=((exp(0.3*x)-exp(-0.3*x))/2).*sin(x+0.3)+log((0.3+x)/2)
2、已知:
求下列表达式的值:
A+6*B和A-B+I
A*B和A.*B
A^3和A.^3
A/B和B\A
[A,B]和[A([1,3],:);B^2]
>> A=[12 34 -4;34 7 87;3 65 7];
>> B=[1 3 -1;2 0 3;3 -2 7];
>> A+6*B
ans =
18 52 -10
46 7 105
21 53 49
>> A-B+eye(3)
ans =
12 31 -3
32 8 84
0 67 1
>> A*B
ans =
68 44 62
309 -72 596
154 -5 241
>> A.*B
ans =
12 102 4
68 0 261
9 -130 49
>> A^3
ans =
37226 233824 48604
247370 149188 600766
78688 454142 118820 >> A.^3
ans =
1728 39304 -64
39304 343 658503
27 274625 343 >> A/B
ans =
16.4000 -13.6000 7.6000
35.8000 -76.2000 50.2000
67.0000 -134.0000 68.0000
>> B\A
ans =
109.4000 -131.2000 322.8000
-53.0000 85.0000 -171.0000
-61.6000 89.8000 -186.2000
>> [A,B]
ans =
12 34 -4 1 3 -1
34 7 87 2 0 3
3 65 7 3 -2 7
>> [A([1,3],:);B^2]
ans =
12 34 -4
3 65 7
4 5 1
11 0 19
20 -5 40
3、已知,
(1)当时,求y的值。
(2)当时,求y的值。
(1)先创建文件函数:f.m
function f=f(n)
f=n+10*log(n^2+5);
然后在主窗口调用:
>>y= f(40)/(f(30)+f(20))
y =
0.6390
(2)先创建文件函数:f.m
function f=f(n)
f=0;
for i=1:n
f=f+i*(i+1);
end
或用while语句创建函数:
function f=f(n)
f=0;
while n>=1
f=f+n*(n+1);
n=n-1;
end
然后在主窗口调用:
>> y=f(40)/(f(30)+f(20))
y =
1.7662
4、请分别用if和switch语句实现。
输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分~100分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。
n=input('please enter a scores:');
if n>=90
disp('A')
elseif n>=80
disp('B')
elseif n>=70
disp('C')
elseif n>=60
disp('D')
else
disp('E')
end
用switch语句:
n=input('please enter a scores:');
m=fix(n/10)
switch m
case 10
disp('A')
case 9
disp('A')
case 8
disp('B')
case 7
disp('C')
case 6
disp('D')
otherwise
disp('E')
end
5、已知
求中:
这20个数中的最大值,最小值,这20个数的总和。统计正数、零、负数的个数。
显示的值。
f1=1;
f2=0;
f3=1;
max=1;
min=0;
n=4;
positive=2;
negative=0;