1.
>> A=[eye(3),rand(3,2);zeros(2,3),diag([1,2])]
>>B=[eye(3),rand(3,2)+rand(3,2)*diag([1,2]);zeros(2,3),(diag([1,2]))^2] >> V=(det(A))^2 >> T=det(B) >> format rat 2.
>> H=hilb(5) >> P=pascal(5) >> h=det(H) >> p=det(P) >> T1=cond(H) >> T2=cond(P) 3.
>>A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20;21,22,23,24,25] >> det(A) >> trace(A) >> rank(A) >> norm(A,1) 4.
>> A=[-29,6,18;20,5,12;-8,8,5] >> [V,D]=eig(A) 5.
>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6] >> B=[0.95,0.67,0.52]' >> X=inv(A)*B
>> C=[0.95,0.67,0.53]' >> X=inv(A)*C >> norm(A,1)
>> A=[1,2,3;4,5,6;7,8,9] 6.
>> sqrtm(A) >> sqrt(A)
MATLAB教程实验报告
实验项目名称 实验三 选择结构程序设计 学生姓名 汪德旺 专业班级 09数教(1)班 学号 0301090131 实验成绩 日期
三. 实验目的和要求
1、掌握建立和执行M文件的方法。
2、掌握利用if语句实现选择结构的方法。
3、掌握利用switch语句实现多分支选择结构的方法。 4、掌握利用try语句的使用。
5、填写实验报告,实验报告文件取名为report3.doc。
5、于邮件附件形式将实验报告文件report3.doc 发到邮箱matlab0909@sina.com,邮件主题为班级学号姓名,如:09数教1班15号张三。
二、实验内容
1、求分段函数的值。
?x2?x?6,x?0且x??3?2 y??x?5x?6,0?x?5且x?2及x?3
?x2?x?1,其他?用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。
2、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分-100分为A,80分-89分为B,70分-79分为C,60分-69分为D,60分以下为E。 要求:
(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 3、硅谷公司员工的工资计算方法如下:
(1)工作时数超过120小时者,超过部分加发15%。 (2)工作时数低于60小时者,扣发15%。 (3)其余按每小时84元计发。
试编程按输入的工号和该员工的工时数,计算应发工资。
4、设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。
5、建立5*6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。 三. 实验结果与分析
(包括运行结果截图、结果分析等) 1、 y= 14 y= 11 y= 2 y= 1 y= -0.25 y= 5 y= 19
2、x=input('please import results:'); switch fix(x/10); case {9,10} assess='A'; case {8}
assess='B'; case {7}
assess='C'; case {6}
assess='D';
case {0,1,2,3,4,5} assess='E'; otherwise
assess='Error:wrong data'; end assess
x=input('please import results:'); if x<=100&x>=90 assess='A'; elseif x<=89&x>=80 assess='B'; elseif x<=79&x>=70 assess='C'; elseif x<=69&x>=60 assess='D'; elseif x<=59&x>=0 assess='E';
else assess='Error: wrong data'; end assess
3、请输入工号:5 请输入工作时长:30 您本月工资是: 1820
4、请输入一个四则运算符号+
c =
117
请输入一个四则运算符号- c =
12
请输入一个四则运算符号* c =
550
请输入一个四则运算符号/ c =
1.6939
5、请输入一个数(输出结果是一个5*6的矩阵的该行元素):12 输入错误,程序输出最后一行的元素:89 49 25 89 22 27 四. 心得体会
(记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。) 答:题目很难,但还是摸索着完成了。 【附录----源程序】 1、
m=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]; for x=m
if x<0&x~=-3 y1=x^2+x-6;
disp(['y= ',num2str(y1)]) else if x>=0&x<5&x~=2&x~=3 y2=x^2-5*x+6;
disp(['y= ',num2str(y2)]) else
y3=x^2-x-1;
disp(['y= ',num2str(y3)]) end end
2、x=input('please import results:'); switch fix(x/10); case {9,10} assess='A'; case {8}
assess='B'; case {7}
assess='C'; case {6}
assess='D';
case {0,1,2,3,4,5} assess='E'; otherwise
assess='Error:wrong data'; end assess
x=input('please import results:'); if x<=100&x>=90 assess='A'; elseif x<=89&x>=80 assess='B'; elseif x<=79&x>=70 assess='C'; elseif x<=69&x>=60 assess='D'; elseif x<=59&x>=0 assess='E';
else assess='Error: wrong data'; end assess
3、x=input('请输入工号:'); y=input('请输入工作时长:'); if y>120
a=84*120+(y-120)*84*0.15;
disp(['您本月工资是: ',num2str(a)]) elseif y<60
b=84*y-700;
disp(['您本月工资是: ',num2str(b)]) else
c=84*y;
disp(['您本月工资是: ',num2str(c)]) end
4、a=fix(rand(1)*89)+10; disp(['a=',num2str(a)]) b=fix(rand(1)*89)+10; disp(['b=',num2str(b)])
x=input('请输入一个四则运算符号','s'); if abs(x)==43