MATLAB实验三答案
- 格式:doc
- 大小:49.50 KB
- 文档页数:11
MATLAB实验三答案
1.1 判断以下表达式的值
(1) a=20, b=-2, c=0, d=1, 计算下面表达式的值:a>b, b>d,
a>b&c>d, a==b, a&b>c, ~~b, d|b>a, a*b^2>a*c.
>> format compact
>> a=20;b=-2;c=0;d=1;
>> b>d
ans =
>> a>b&c>d
ans =
>> a==b
ans =
>> a&b>c
ans =
>> ~~b
ans =
1
ans =
1
>> a*b^2>a*c ans =
1
(2)
10
21
a
⎡⎤
=⎢⎥
-⎣⎦
,
02
21
b
⎡⎤
=⎢⎥
--
⎣⎦
,计算a>=b,a|b
>> a=[1 0;-2 1];b=[0 2;-2 -1]; >> a>=b
ans =
1 0
1 1
>> a|b
ans =
1 1
1 1
(3)
1201212
2,,,
01020010
a b c d
--
⎡⎤⎡⎤⎡⎤
====
⎢⎥⎢⎥⎢⎥
⎣⎦⎣⎦⎣⎦
,计算~(a>b),
a>c&b>c, c<=d
>> format compact
>> a=2;b=[1 -2;0 10];c=[0 1;2 0];d=[-2 1 2;0 1 0];
ans =
0 0
0 1
>> a>c&b>c
ans =
1 0
0 1
>> c<=d
Error using ==> le
Matrix dimensions must agree.
根据结果总结关系和逻辑运算符用于数组的运算规律及优先级顺序.
关系运算和逻辑运算的结果只有0和1两种可能。
矩阵进行关系运算时,应该保证两个矩阵的维数一致或其中一个矩阵为标量。比较关系运算是对两个矩阵的对应运算进行比较。
1.2 租用一个交通工具,前100公里需要0.5美元一公里,在下面的200公里中0.23美元每公里,超过300公里的部分一律按0.2美元每公里算,编写一个程序,自定义总公里数x,求总花销及平均每公里的花销。(分别定义x<=100,100
M文件:
x=input('请输入总公里数x=');
if x<=100
w=0.5*x;
disp(['总花销w=',num2str(w),' 美元'])
elseif 100 w=0.5*100+(x-100)*0.23; disp(['总花销w=',num2str(w),' 美元']) else w=0.5*100+0.23*200+(x-300)*0.2; disp(['总花销w=',num2str(w),' 美元']) end v=w/x; disp(['平均每公里的花销v=',num2str(v),' 美元/公里']) 运行: 请输入总公里数x=50 总花销w=25 美元 平均每公里的花销v=0.5 美元/公里 请输入总公里数x=150 总花销w=61.5 美元 平均每公里的花销v=0.41 美元/公里 请输入总公里数x=400 总花销w=119 美元 平均每公里的花销v=0.2975 美元/公里 1.3 编写程序计算以下函数,并定义不同的x ,y 值进行验证。 ()()()() ()2222,0,0,0,0,,0,0,0,0x y x y x y x y f x y x y x y x y x y +≥≥⎧⎪+≥<⎪=⎨+<≥⎪⎪+<<⎩ M 文件: x=input('x='); y=input('y='); if x>=0&y>=0 f=x+y; elseif x>=0&y<0 f=x+y^2; elseif x<0&y>=0 f=x^2+y; else f=x^2+y^2; end disp(['f(x,y)=',num2str(f)]) 运行: x=1 y=2 f(x,y)=3 x=1 y=-2 f(x,y)=5 x=-1 y=2 f(x,y)=3 x=-1 y=-2 f(x,y)=5 1.4 编写一个switch语句程序,允许使用者输入一个字符串,这个字符串必须是一个星期中的一天(Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday),把这些字符串转化为相应 的数字,以星期天为第一天,星期六为第七天,如果输入不是这些字符串,则输出错误信息。能否用if语句实现呢? M文件(switch语句): disp('输入一个星期某一天的英文(开头为大写),显示是一个星期的第几天。') a=input('a=','s'); switch a case 'Sunday' disp('第一天') case 'Monday' disp('第二天') case 'Tuesday' disp('第三天') case 'Wednsday' disp('第四天') case 'Thursday' disp('第五天') case 'Friday' disp('第六天') case 'Saturday' disp('第七天') otherwise