Matlab实验五分支结构程序设计答案
MATLAB原理及应用实验报告第五章答案

《MATLAB 原理及应用》实验报告三.练习题1、编写程序绘制如下图形(时间间隔自己设定)图中曲线标注:sin(t)标注在(1.7*pi,-0.3),cos(t)标注在(1.6*pi,0.8) 2、使用subplot指令在不同区域画出下列曲线y=sinAx;y=cosAx;y=Ae x ,y=x^2。
x 的取值范围是]15,0[,A 为自己的学号。
3、画出衰减振荡曲线t e y t 3sin 3-=及其它的包络线30t e y -=。
t 的取值范围是]4,0[π,图的标题字体大小(fontsize)为10号,字体(fontname)宋体,字体风格(fontangle )为斜体字体,并选择合适的位置在图上标注自己的学号,姓名,以及作图日期,字体大小、字体风格自己指定。
四.实验程序及结程序为1:t=0:0.1:4*pi;y=sin(t);y1=cos(t);plot(t,y,'r',t,y1,'--b') text(1.7*pi,-0.3,'sint') text(1.6*pi,0.8,'cost')2468101214-1-0.8-0.6-0.4-0.200.20.40.60.812:x=0:0.1:15; y1=sin(1*x); subplot(2,2,1); plot(x,y1); y2=cos(1*x); subplot(2,2,2); plot(x,y2);y3=(1*exp(x)); subplot(2,2,3); plot(x,y3); y4=x.^2; subplot(2,2,4); plot(x,y4);051015-1-0.500.51051015-1-0.500.510510151234x 1060510151002003003 程序为:t=0:0.01:4*pi;y0=exp(-t/3);y1=-exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y0,'--b',t,y,'r',t,y1,'--b');title('y=e^(-t/3)sin(3t)及它的包络线','fontsize',10','fontweigh','bold','fontangle','italic');text(9,-0.4,['学号:'],'fontsize',10','fontweigh','bold','fontangle','italic');text(9.5,-0.6,['姓名:某某某'],'fontsize',10','fontweigh','bold','fontangle','italic');text(10,-0.8,['2013.12.01']);。
matlab实验指导答案详解(非常详细正确)

实验一 MATLAB 工作环境熟悉及简单命令的执行一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。
二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单(Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。
三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌面。
2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。
(1)(365-52⨯2-70)÷3 >>(365-52*2-70)/3 ans = 63.6667(2)>>area=pi*2.5^2 area = 19.6350(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -= >>x=3 >>y=4>>z = x ^2 * y ^3 / (x - y) ^2 z = 576(4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。
m1=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡11514412679810115133216 执行以下命令>>m1 =[16 2 3 13 ; 5 11 10 8 ; 9 7 6 12 ; 4 14 15 1 ] >>m1( 2 , 3 ) ans = 10 >>m1( 11 ) ans = 6>>m1( : , 3 ) ans =3 10 6 15>>m1( 2 : 3 , 1 : 3 ) ans =5 11 10 9 7 6>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) ans = 34(5)执行命令>>help abs查看函数abs 的用法及用途,计算abs( 3 + 4i ) (6)执行命令>>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)(6)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。
(完整版)Matlab实验5选择结构程序结构

(完整版)Matlab实验5选择结构程序结构实验五、选择与循环结构一、实验目的:1、掌握建立和执行M 文件的方法。
2、掌握利用if 语句实现选择结构的方法。
3、掌握利用switch 语句实现多分支选择结构的方法。
4、掌握try 语句的使用。
5、掌握利用for 语句实现循环结构的方法。
6、掌握利用while 语句实现循环结构的方法。
7、熟悉利用向量运算来代替循环的操作方法。
二、实验内容:1、列分段函数的值。
--≠≠<≤+--≠<-+=其他且且,632,100,6530,6222x x x x x x x x x x x y要求:(1) 用if 语句实现,分别输出x =-0.5,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
提示:x 的值从键盘输入,可以是向量。
%homework_5_1_1.mx=input('请输入x 的值:x=');if (x<0 & x~=-3)y= x.*x + x - 6elseif (x>=0 & x<10 & x~=2 & x~=3)y=x.*x-5.*x+6elsey=x.*x-x-6end>> homework_5_1请输入x 的值:x=[-0.5 -3.0 1.0 2.0 2.5 3.0 5.0]y =-5.2500 6.0000 -6.0000 -4.0000 -2.2500 0 14.0000(2) 用逻辑表达式实现上述函数。
%homework_5_1_2.mx=input('请输入x 的值:x=')y=(x<0 & x~=-3).*(x.*x+x-6)...+(x>=0 & x<10 &x~=2 &x~=3).*(x.*x-5.*x+6)...+(x>=10 | x==-3 | x==3 | x==2).*(x.*x-x-6)>> homework_5_1_2请输入x=[-0.5 -3.0 1.0 2.0 2.5 3.0 5.0]x =-0.5000 -3.0000 1.0000 2.0000 2.5000 3.0000 5.0000 y =-6.2500 6.0000 2.0000 -4.0000 -0.2500 0 6.00002、输入一个百分制成绩,要求输出成绩的等级为A,B,C,D,E。
实验5

实验五第3章MATLAB程序设计第二节程序控制结构程序控制结构有三种:顺序结构、旋择结构、循环结构.任何复杂的程序都可以由这三种基本结构构成.Matlab提供了实现控制结构的语句,利用这些语句可以编写解决实际问题的程序.一、顺序结构顺序结构是指按照程序中语句的排列顺序从上到下依次执行,直到程序的最后一个语句如例1的qiu文件和例2的dd1文件.这是最简单的一种程序结构.一般涉及数据的输入、计算或处理、数据的输出等内容.1. 数据的输入通过input命令来接收从终端输入的内容,它也可以显示文本和提示.命令集14 输入命令input(out ,in)在屏幕上显示出字符串out的文本并等待终端的输入.如果变量in是's',则输入的内容以字符串的形式进行保存,通常MATL AB在保存前要尽可能地求出表达式的值.如果使用格式控制符号如'\n',字符串out可以是若干行.2. 数据的输出可以通过简单地输入变量的名字来显示数字矩阵或者字符串向量的内容,结果将显示出变量的名字和内容.另一种显示变量的值就是使用命令disp.使用它只显示出变量的内容,这是有用的,特别是在字符串的应用中.命令集15显示命令disp(A)显示矩阵A的内容,如果A是字符串,则显示出它的文本.二、循环结构循环结构是按照给定的条件,重复执行指定的语句.Matlab用于实现循环结构的语句有for — end语句和while — end语句.1.for —end语句for-end语句的格式为:for 循环变量=表达式1 : 表达式2 : 表达式3循环体语句end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值.步长为1时,表达式2可以省略.循环语句应用时应注意:● 循环语句可以嵌套使用;● 不能在 for — end 循环体内改变循环变量的值; ● 为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for — end 循环的使用,如例8;● 如果预先就知道循环的次数,则可以采用 for — end 循环;否则,如果预先无法确定循环的次数,则可以使用 while — end 循环.2. while — end 循环while-end 语句的一般格式为:while (条件) 循环体语句 end 其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环.■例1 使用while-end 结构计算1+2+3+…+100 . 解:■例2 计算 Matlab 中 eps 值 (exp1.m) 解:s=0;for i=1:100 s=s+i; end ss=0; i=1;while i<=100 s=s+i; i=i+1; end snum=0; EPS=1; while (1+EPS)>1 EPS=EPS/2; num=num+1; endEPS,num三、选择结构选择结构是根据给定的条件成立或不成立,分别执行不同的语句.Matlab 用于实现选择结构的语句有条件语句:if –end 和 开关语句:switch-end .1.单分支结构 if —end 语句 2.双分支结构 if —else —end 语句 if-end 语句的格式为: if-else-end 语句的格式为:3.多分支结构 if — elseif — else — end 语句 if — elseif — else — end 语句的格式为:if 条件表达式 语句组 endif 条件表达式 语句组1 else语句组2 endif 条件表达式1 语句组1 elseif 条件表达式 2 语句组2 ... ...elseif 条件表达式 m 语句组m else 语句组end■例3求函数1;00;1;x y x x -<⎧⎪= =0⎨⎪ >⎩ ,输入x 值,输出y 值.解:■例4一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数.输出全部水仙花数.解:程序如下运行结果:153 370 371 407function y=fuhao(x) if x<0 y=-1; elseif x==0 y=0; else y=1; endA=[];for m=100:999m1=fix(m/100); %求m 的百位数字 m2=rem(fix(m/10),10); %求m 的十位数字 m3=rem(m,10); %求m 的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 A=[A,m];endend disp(A)4. switch-end 语句根据表达式的不同取值,分别执行不同的语句.其格式如下:■关于 switch-end 语句的几点注解:● Matlab 首先计算表达式的值,然后将它依次与各个case 指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出 switch-end 结构● 如果所有的比较结果都为假,则执行 otherwise 后面的语句组,然后跳出 switch-end 结构 ● otherwise 指令可以不出现● switch 后面的表达式的值可以是一个标量或字符串 ● case 指令后的检测值超过一个时,应用{}括起来switch 表达式 case 值1 语句组1 case 值2 语句组2 ... ... case 值m 语句组m otherwise 语句组n end■例5 阅读程序method=input('请输入方法名:')switch methodcase {'linear','bilinear'}disp('Method is linear')case 'cubic'disp('Method is cubic')case 'nearest'disp('Method is nearest')otherwisedisp('Unknown method.')end■例6用switch-end语句编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩,设:90分以上为…A‟, 80~89分为…B‟,70~79分为…C‟,60~69分为…D‟,60分以下为…E‟.function sctole(score)grade=fix(score/10);switch gradecase {10,9}grade='A'case 8grade='B'case 7grade='C'case 6grade='D'otherwisegrade='E'end四、其他流程控制语句●break语句●continue语句●return语句●try语句●echo命令●keyboard命令●pause命令1.break和continue语句与循环结构相关的语句还有break语句和continue语句.它们一般与if语句配合使用.break语句用于终止循环的执行.当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句后的下一语句.continue语句控制跳过循环体中的某些语句.当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环. ■例7求[100,200]之间第一个能被21整除的整数.for n=100:200if rem(n,21)~=0continueendbreakendn for n=100:200if rem(n,21)==0breakendendn2.try语句语句格式为:try语句组1catch语句组2endtry语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2.这种试探性执行语句是其他高级语言所没有的.■例8矩阵乘法运算要求两矩阵的维数相容,否则会出错.先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘.function C=rc(A,B)%A,B为矩阵tryC=A*B;catchC=A.*B;endlasterr %显示出错原因3.请求键盘输入命令keyboard暂停运行程序并处于等待键盘输入状态(便于调试及程序运行中修改变量),键入“return”程序继续运行.如运行如下:4. echo 命令(在命令窗口,程序调用前使用)一般情况下,M 文件执行时,文件中的命令不会显示在命令窗口.echo 命令可使文件命令在执行时可见.这对程序的调试及演示很有用.对命令文件和函数文件,echo 的作用稍微有些不同.●对命令文件,其格式如下:echo on 打开命令文件的回应命令 echo off 关闭回应命令●对函数文件,其格式如下:echo file on 使指定的file 文件的命令在执行中被显示出来 echo file off 关闭指定文件的命令在执行中的回应function y=f(x) keyboardy=(5*x-6)/((x-3)*(x-3)+2);>> f K>> x=4; K>> return ans = 4.6667>> y=f(4) K>> return y = 4.6667。
Matlab第五章答案

第一题(1)a=[1 9 8;7 2 5;3 -2 7] %产生矩阵det(a) %检验是否可逆ans=-442,非0,可逆div(a) %求逆矩阵(2)b=[1 0 -7 5;0 -26 7 2;7 4 3 5;8 -3 2 15]det(b)div(b)第二题(1)A=[1 2 3;2 2 5;3 5 1];B=[11 12 31];X=B/A(2) A=[3 1 0 5;0 6 7 3;0 4 3 0;2 -1 2 6];B=[2 4 7 8];X=B/A第三题(1)t=[1 2 3 4 5 6 7 8 9 10]';y=[4.842 4.362 3.754 3.368 3.169 3.083 3.034 3.016 3.012 3.005]';A=[ones(size(t)) exp(-t)];C=A\yT=[0:.1:10]';Y=[ones(size(T)) exp(-T)]*C;plot(T,Y,'-',t,y,'o')title( '采用y(t)≈c1+c2e–t的拟合' )xlabel('\itt'), ylabel('\ity')(2)t=[0 .3 .8 1.1 1.6 2.3]';y=[.82 .72 .63 .60 .55 .50]';A=[ones(size(t)) t.*exp(-t)];C=A\y;T=[0:.1:2.5]';Y=[ones(size(T)) T.*exp(-T)]*C;plot(T,Y,'-',t,y,'o')title('采用y(t)≈d1+d2te–t拟合')xlabel('\itt'), ylabel('\ity')第四题A=[11.59 12.81 15.66; 15.2 4.18 13.61; 10.597.59 9.22];[L,U]=lu(A)[Q R]=qr(A)B=[16.00 4.41 -10.37 -21.61; 0.88 -20.04 12.86 8.56; -1.43 10.71 18.81 -5.99; -12.48 24.35-23.9 10.34];[C,D]=lu(B)[E F]=qr(B)第五题(1)A=[5 -5 -6;3 -2 5;2 -1 -4];x0=[1;-4;5];X=[];for t=0:.01:1X=[X expm(t*A)*x0];endplot3(X(1,:),X(2,:),X(3,:),'-o')grid on(2)A=[1 2 -3 1;3 0 1 -2;1 -2 0 5;2 3 0 1];x0=[1;-1;2;1];X=[];for t=0:.01:1X=[X expm(t*A)*x0];endplot3(X(1,:),X(2,:),X(3,:),'-o')grid on第六题(1)A=[11.59 12.81 15.66; 15.2 4.18 13.61;10.59 7.59 9.22];lambda=eig(A)[V,D]=eig(A)(2)B=[16.00 4.41 -10.37 -21.61; 0.88 -20.04 12.86 8.56; -1.43 10.71 18.81 -5.99; -12.48 24.35 -23.9 10.34];lambda=eig(B)[V,D]=eig(B)第七题(1)x=[1 2 3 4 5 6 7 8 9 10];y=[15.0 39.5 66.0 85.5 89.0 67.5 12.0 -86.4 -236.9 -448.4];p=polyfit(x,y,2);x2=1:.1:10;y2=polyval(p,x2);figure(1)plot(x,y,'o',x2,y2)grid ontitle('二阶多项式曲线拟合')(2)x=[1 2 3 4 5 6 7 8 9 10];y=[15.0 39.5 66.0 85.5 89.0 67.5 12.0 -86.4 -236.9 -448.4];p=polyfit(x,y,3);x2=1:.1:10;y2=polyval(p,x2);figure(1)plot(x,y,'o',x2,y2)grid ontitle('三阶多项式曲线拟合')第八题p1=[1,-2-3,4,2];p2=[1,-7,5,31,-30];p3=[1,-1,-25,25];p4=[-2,3,1,5,8,0];[L1,U1]=lu(p1)r1=roots(p1)[L2,U2]=lu(p2)r2=roots(p2)[L3,U3]=lu(p3)r3=roots(p3)[L4,U4]=lu(p4)r4=roots(p4)第九题p1=[1,-2-3,4,2];p2=[1,-7,5,31,-30];p3=[1,-1,-25,25];p4=[-2,3,1,5,8];p1_x=polyval(p1,[-1.5,2.1,3.5]) p2_x=polyval(p2,[-1.5,2.1,3.5]) p3_x=polyval(p3,[-1.5,2.1,3.5]) p4_x=polyval(p4,[-1.5,2.1,3.5])第十题a=[2,3,-4];b=[4,-2,5];c=[3,0,-2,5,6];d1=conv(a,b)[d2,r2]=deconv(c,a)[d3,r3]=deconv(c,b)第十一题a=[2,3,-4];b=[4,-2,5];c=[3,0,-2,5,6];dao1=polyder(a,b)[dao2,r2]=polyder(c,a)[dao3,r3]=polyder(c,b)第十二题x=-5:.25:5;y=10*exp(-x);xi=-5:5;y1=interp1(x,y,xi,'nearest');y2=interp1(x,y,xi,'linear');y3=interp1(x,y,xi,'spline');y4=interp1(x,y,xi,'cubic'); figure(1);subplot(2,2,1)plot(x,y,'-',xi,y1,'o');title('最邻近内插');grid on;xlabel('x');ylabel('y');subplot(2,2,2)plot(x,y,'-',xi,y2,'o');title('线性内插');grid on;xlabel('x');ylabel('y');subplot(2,2,3)plot(x,y,'-',xi,y3,'o');title('三次样条内插');grid on;xlabel('x');ylabel('y');subplot(2,2,4)plot(x,y,'-',xi,y4,'o');title('三次曲线内插');grid on;xlabel('x');ylabel('y');第十三题x=rand(1,50);y=randn(1,50);minx=min(x)miny=min(y)maxx=max(x)maxy=max(y)avx=mean(x)avy=mean(y)Ex=(std(x)).^2Ey=(std(y)).^2第十四题t=[0 .2 .4 .6 .8 1.0 2.0 5.0 ]';y=[1.0 1.51 1.88 2.13 2.29 2.40 2.60 24.00]'; X1=[ones(size(t)) t t.^2];a=X1\y;X2=[ones(size(t)) exp(-t) t.*exp(-t)];b=X2\y;T=[0:.1:6]';Y1=[ones(size(T)) T T.^2]*a;Y2=[ones(size(T)) exp(-T) T.*exp(-T)]*b; figure(1)subplot(1,2,1)plot(T,Y1,'-',t,y,'o'),grid ontitle('多项式回归')subplot(1,2,2)plot(T,Y2,'-',t,y,'o'),grid ontitle('指数函数回归')第十五题t=0:1/119:1;x=3*sin(2*pi*20*t)+10*sin(2*pi*200*t+pi/4)+10*randn(size(t)); y=fft(x);m=abs(y);f=(0:length(y) -1)'*119/length(y);figure(1)subplot(2,1,1),plot(t,x),grid ontitle('被噪声污染的信号')ylabel('Input \itx'),xlabel('Time ')subplot(2,1,2),plot(f,m)ylabel('Abs. Magnitude'),grid onxlabel('Frequency (Hertz)')第十六题w=input('w=');t=0:1/119:1;x1=sin(w.*t)+randn(size(t));x2=cos(w.*t)+randn(size(t));x3=sin(w.*t)+randn(size(t));a=corrcoef(x1,x2)b=corrcoef(x1,x3)若没有正弦分量w=input('w=');t=0:1/119:1;x1=randn(size(t));x2=randn(size(t));x3=randn(size(t));a=corrcoef(x1,x2)b=corrcoef(x1,x3)第十七题z1=quad('exp(-2*t)',0,2)z2=quad('exp(2*t)',0,2)z3=quad('exp(t.^2-3*t+.5)',-1,1)第十八题function y=five(x)y=exp(-x)-1.5*exp(2*cos(2*x));%主函数x0=input('x0='); %执行时,按要求输入[-1,1]z=fzero('five',x0)第十九题function f=five(x,y)f=exp(-x.*y)-2*x.*y;%主函数z=dblquad('five',0,1,-1,1)第二十题function dy=five(t,y)dy=[0.5-y(1);y(1)-4*y(2)];%主函数X0=[1; -0.5];tspan=[0,25];[T,X]=ode45('five',tspan,X0);figure(1)subplot(2,1,1),plot(T,X(:,1),'r'),title('x_{1}'),grid onsubplot(2,1,2),plot(T,X(:,2),'k'),title('x_{2}'),grid onfigure(2)plot(X(:,1),X(:,2)),title('系统轨迹'),grid onxlabel('x_{1}'),ylabel('x_{2}')。
Matlab实验五分支结构程序设计答案

实验五分支结构程序设计实验内容(1)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear>> format long gs=input('s=')n=fix(log10(s));A=0;for i=1:na=fix(s/10^n);x=fix(mod(s,10^i)/10.^(i-1));A=A+x*10^(n+1-i);endA+as=693s =693ans =396(2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E1)分别用if语句和switch语句实现2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息If语句>> a=input('输入成绩')if a>=90&a<=100 disp('A 成绩合理');elseif a>=80&a<90 disp('B 成绩合理');elseif a>=70&a<80 disp('C 成绩合理');elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理');else disp('成绩错误')end输入成绩98a =98A 成绩合理>> a=input('输入成绩')if a>=90&a<=100 disp('A 成绩合理');elseif a>=80&a<90 disp('B 成绩合理');elseif a>=70&a<80 disp('C 成绩合理');elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理');else disp('成绩错误')end输入成绩148a =148成绩错误switch语句>> a=input('输入成绩')switch a;case num2cell(0:59)disp('E 成绩合理');case num2cell(60:69)disp('D 成绩合理');case num2cell(70:79)disp('C 成绩合理');case num2cell(80:89)disp('B 成绩合理');case num2cell(90:100)disp('A 成绩合理');otherwisedisp('成绩错误');end输入成绩98a =98A 成绩合理>> a=input('输入成绩')switch a;case num2cell(0:59)disp('E 成绩合理');case num2cell(60:69)disp('D 成绩合理');case num2cell(70:79)disp('C 成绩合理');case num2cell(80:89)disp('B 成绩合理');case num2cell(90:100)disp('A 成绩合理');otherwisedisp('成绩错误');end输入成绩148a =148成绩错误小结实验心得体会通过本次实验,我逐渐掌握了点if语句和switch语句的使用,了解了分支结构程序设计方法。
Matlab实验指导书(含答案)汇总

实验Matlab 操作环境熟悉、实验目的1.初步了解Matlab 操作环境。
2.学习使用图形函数计算器命令funtool 及其环境。
二、实验内容熟悉Matlab 操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format 命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who 和whos 命令查看内存变量信息;学会使用图形函数计算器funtool ,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1) y=sin(x);(2) y=(1+x)A3*(2-x); 求下列函数的符号积分(1) y=cos(x);(2) y=1/(1+x^2);(3) y=1/sqrt(1-x^2);(4) y=(x-1)/(x+1)/(x+2);求反函数(1) y=(x-1)/(2*x+3);(2) y=exp(x);(3) y=log(x+sqrt(1+x^2));代数式的化简(1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4);(2) sin (x)A2+cos(x)A2;(3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=xA2通过参数的选择去观察下列函数的图形变化(1) y1=(x+1)A2⑵ y2=(x+2)A2(3) y3=2*x^2⑷ y4=x^2+2(5) y5=x^4⑹ y6=x^2/23.两个函数之间的操作求和(1) sin(x)+cos(x)(2) 1+x+x^2+x^3+x^4+x^5乘积(1) exp(-x)*sin(x)(2) sin(x)*x商(1) sin(x)/cos(x);⑵ x/(1+x^2);(3) 1/(x-1)/(x-2);求复合函数(1) y=exp(u) u=sin(x)(2) y=sqrt(u) u=1+exp(xA2)(3) y=sin(u) u=asin(x)(4) y=sinh(u) u=-x三、设计提示1.初次接触Matlab 应该注意函数表达式的文本式描述。
MATLAB实验及答案详解

>> C3
C3 =
9 22 2
8 19 -6
36 88 3
>> D1
D1 =
2 -2 3
655
16 -10 3
>> D2
D2 =
0.5000 -2.0000 0.3333
0.6667 5.0000 0.2000
1.0000 -10.0000 3.0000
>> D3
D3 =
141
4 25 1
16 100 9
5.0000 - 5.0000i 6.0000 - 6.0000i
②求矩阵的逆矩阵
>> B=[1 2;3 4];
>> B1=inv(B) 运行后显示:
B1 = -2.0000 1.0000 1.5000 -0.5000
>> B2=B^(-1) 运行后显示: B2 =
-2.0000 1.0000 1.5000 -0.5000 ③关于矩阵求幂 >>A=[1 2;3 4]; B=[ 2 1;3 2]; >>A.^B 运行后显示: ans =
>>A=[1,2,3;4,5,6] 运行后显示: A= 123 456
在命令窗口输入:
>>b=A(1,2)
运行后显示:b =2
在命令窗口输入:
>>A(2,3)=-3
运行后显示:A =
123
4 5 -3
矩阵的操作
>>A=[1,2,3;4,5,6;7,8,9]
>>B=diag(A) %X 为矩阵时,V=diag(X,k)得到列向量 V,它取自 X 的第 K 个对角
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五分支结构程序设计
实验内容
(1)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear
>> format long g
s=input('s=')
n=fix(log10(s));
A=0;
for i=1:n
a=fix(s/10^n);
x=fix(mod(s,10^i)/10.^(i-1));
A=A+x*10^(n+1-i);
end
A+a
s=693
s =
693
ans =
396
(2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E
1)分别用if语句和switch语句实现
2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息
If语句
>> a=input('输入成绩')
if a>=90&a<=100 disp('A 成绩合理');
elseif a>=80&a<90 disp('B 成绩合理');
elseif a>=70&a<80 disp('C 成绩合理');
elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理');
else disp('成绩错误')
end
输入成绩98
a =
98
A 成绩合理
>> a=input('输入成绩')
if a>=90&a<=100 disp('A 成绩合理');
elseif a>=80&a<90 disp('B 成绩合理');
elseif a>=70&a<80 disp('C 成绩合理');
elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理');
else disp('成绩错误')
end
输入成绩148
a =
148
成绩错误
switch语句
>> a=input('输入成绩')
switch a;
case num2cell(0:59)
disp('E 成绩合理');
case num2cell(60:69)
disp('D 成绩合理');
case num2cell(70:79)
disp('C 成绩合理');
case num2cell(80:89)
disp('B 成绩合理');
case num2cell(90:100)
disp('A 成绩合理');
otherwise
disp('成绩错误');
end
输入成绩98
a =
98
A 成绩合理
>> a=input('输入成绩')
switch a;
case num2cell(0:59)
disp('E 成绩合理');
case num2cell(60:69)
disp('D 成绩合理');
case num2cell(70:79)
disp('C 成绩合理');
case num2cell(80:89)
disp('B 成绩合理');
case num2cell(90:100)
disp('A 成绩合理');
otherwise
disp('成绩错误');
end
输入成绩148
a =
148
成绩错误
小结实验心得体会
通过本次实验,我逐渐掌握了点if语句和switch语句的使用,了解了分支结构程序设计方法。
因为本次实验较有难度,所以完成的不是很顺利。
在分支结构程序设计方面还有待加强。