1、MATLAB课后试验答案实验一 MATLAB运算基础1.先求下列表达式的值,然后显示 MATLAB工作空间的使用情况并保2.存全部变量0.3a _0.3ae ez3 sin(a 0.3) lnt2 0 t : 1(4) z4=*t21 1Etc2,其中 t=0:0.5:2.5t2-2t+1 2 兰t=0&t=1 &t=2&t=0&t=1 &t=2&t=A&ch f(-3)y =11 f(1)y =2 f(2)y =1 f(2.5)y =-0.2500 f(3)y =5 f(5)y =19 2.输入一个百分制成绩,要求输出成绩等级 A、B、C、D、E。其中90分100分为A, 80分89分为B
2、, 79分79分为C, 60分69分为D , 60分以下为 E。要求:(1)分别用if语句和switch语句实现。(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。解:M文件如下试算结果:score=88grade =Bscore=123错误:输入的成绩不是百分制成绩 3.硅谷公司员工的工资计算方法如下:(1)工作时数超过120小时者,超过部分加发 15%。(2)工作时数低于60小时者,扣发700元。(3)其余按每小时84元计发。试编程按输入的工号和该号员工的工时数,计算应发工资。解:M文件下4.设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输
3、入一个运算 符号,做相应的运算,并显示相应的结果。解:M文件如下;运算结果例:a =38b =33输入一个运算符:人c =falsea =92b =40输入一个运算符:+c =1325.建立5 X 6矩阵,要求输出矩阵第_n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后 行元素,并给出出错信息。解:M文件如下:运算结果如下:一个 5 行 6 列矩 A=1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7输入一正整数 n=411 2 3 9 7 3输入一个 5 行 6 列矩阵 A=1 2 3 4 5 5;2 3 4 5 7
4、 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7输入一正整数n=62 3 4 5 6 7ans =Error using = dispToo many in put argume nts.实验四循环结构程序设计、实验目的1.掌握利用for语句实现循环结构的方法。2.掌握利用while语句实现循环结构的方法。3.熟悉利用向量运算来代替循环操作的方法。、实验内容2兀2 1 1 1 11.根据 2 2 2 2,求n的近似值。当n分别取100、1000、10000时,结果6 12 22 32 n2是多少?要求:分别用循环结构和向量运算(使用 sum函数)来实现。解:M文件
5、如下:运行结果如下:K %循环结构计算pi值y=0;n=in put( n=);for i=1: ny=y+1/i/i;endpi=sqrt(6*y)n=100Pi =3.1321n=1000Pi =3.1406n=10000Pi =3.1415%向量方法计算Pi值n=in put( n=);i=1./(1: n)92;s=sum(i);pi=sqrt(6*s)n=100Pi =3.1321n=1000Pi =3.1406n=10000Pi =3.1415求:11 12.根据y =1 3 5 2n-1(1)y y=0; n=0;while y3n=n-1;endny =3.0033n =57n
6、 =56 3.考虑以下迭代公式: 其中a、b为正的学数。(1)编写程序求迭代的结果,迭代的终止条件为 |Xn+1-Xn| 10-5,迭代初值X0 = 1.0,迭代次数不超过500次。.b b2 :卜4a 如果迭代过程收敛于 r,那么r的准确值是 ,当(a,b)的值取(1,1)、(8,3)、(10,0.1)2时,分别对迭代结果和准确值进行比较。解:M文件如下:运算结果如下;请输入正数a=1请输入正数b=1x =0.6180r =0.6180-4.7016r =0.6180-1.6180s =-0.0000-2.2361请输入正数a=8请输入正数b=3x =1.7016r =1.7016-1.61
7、80r =1.7016-4.7016s =0.0-6.4031请输入正数a=10请输入正数b=0.1x = r =3.1127r =3.1127-4.70163.1127-3.2127s =-0.0000-6.32544.已知求 fifloo 中:(1)最大值、最小值、各数之和。(2)正数、零、负数的个数。解:M文件以下是运算结果: max(f)=2635min (f)=-3528sum(f)=-1951c1=49c2=2c3=495.若两个连续自然数的乘积减 1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,2 X 3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。
8、求2,50区间内:(1)亲密数对的对数。(2)与上述亲密数对对应的所有亲密素数之和。解:M文件:运算结果为:j =29s =23615实验五函数文件、实验目的1.理解函数文件的概念。2.掌握定义和调用 MATLAB函数的方法。、实验内容1.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文 件。解:M文件如下:函数fushu.M文件:function e,l,s,c = fushu(z)%fushu复数的指数,对数,正弦,余弦的计算%e复数的指数函数值%l复数的对数函数值%s复数的正弦函数值%c复数的余弦函数值e=exp(z);l=log(z);s=s in( z
9、);c=cos(z);命令文件M :z=i nput(请输入一个复数z=);a,b,c,d=fushu(z)运算结果如下:z=input(请输入一个复数 z=);a,b,c,d=fushu(z)请输入一个复数z=1+ia =1.4687 + 2.2874ib =0.3466 + 0.7854ic =1.2985 + 0.6350id =0.8337 - 0.9889i2.一物理系统可用下列方程组来表示:从键盘输入mm2和B的值,求a2、N1和N2的值。其中g取9.8,输入B时以角度为单位。 要求:定义一个求解线性方程组 AX=B的函数文件,然后在命令文件中调用该函数文件。解:M文件函数fc.M
10、文件:fun ction X= fc(A,B)%fc fc是求解线性方程的函数%A A是未知矩阵的系数矩阵X=AB ;命令M文件:clc;m1=input(输入 m仁);m2=input(输入 m2=);theta=input(输入 theta=);x=theta*pi/180;g=9.8;A=m1*cos(x) -m1 -sin(x) 0m1*si n(x) 0 cos(x) 00 m2 -si n(x) 00 0 -cos(x) 1;B=0;m1*g;0;m2*g;X=fc(A,B)运算结果:输入m仁1输入m2=1输入 theta=30X =7.84003.39486.789615.680
11、0 3.一个自然数是素数,且它的数字位置经过任意对换后仍为素数。例如 13是绝对素数。试求所有两位绝对素数。要求:定义一个判断素数的函数文件。解:M文件:函数prime.m文件fun ctio n p = prime(p)% 输入p的范围,找出其中的素数m=p(le ngth(p);for i=2:sqrt(m)n=find(rem(p,i)=0&p=i);P(n )=;%将p中能被i整除,而却不等于i的元素,即下标为n的元素剔除,其余的即为素数 endP;命令文件:clc;p=10:99;p=prime(p); %找出10到99内的所有素数p=10*rem(p,10)+(p-rem(p,10)/10;%将p素数矩阵每个元素个位十位调换顺序p=prime(p)%再对对换后的素数矩阵找出所有的素数运算结果:p =1131711373173797791 14
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2