MATLAB程序设计教程(第二版)第三章实验报告下载
matlab程序设计实验报告

实验报告课程名称:可视化计算机语言实验项目名称:matlab程序设计学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务部制一、实验目的与要求:1、熟练掌握matlab的程序流程控制结构..2、熟悉掌握M文件的结构和函数调用..3、掌握内联函数和函数句柄的使用..4、了解程序性能剖析窗口..二、内容和步骤:MATLAB的语法规则简洁;编程效率高;作为一个完整的程序语言;MATLAB也有各种程序流程控制;文件格式和函数调用的规则;通过对函数的调用就能够组成庞大的程序;完成复杂的功能..1.使用程序流程控制Fibonacci数列的各元素为:1、1、2、3、5、8、...满足一下关系F1=1 F2=1 F n=F n-1+F n-2用M函数文件实现;数列的元素个数为输入变量..(1)按M函数文件格式创建文件开头..function f=shiyan0501n%SHIYAN0501%Fibonacci数列%n 元素个数%f 构成Fibonacci数列向量%%copyright 2015-11-25(2)用while循环实现程序功能f1=1;f2=1;i=2;while i<=nfi+1=fi-1+fi;i=i+1;End运行后;输入参数10;运行结果如下所示:(3)使用for循环实验for i=2:nfi+1=fi-1+fi;end运行结果如下所示:(4)当某个元素大于50时;退出循环结构;程序修改如下:for i=2:nif fi>10breakelsefi+1=fi-1+fi;endend当某个元素大于50;程序便退出循环结构当n=10;最后一个元素刚好是大于50的;正好退出循环结构当n=12时;第十个元素对应的fi大于50;于是退出循环结构;不再运行f11;f12了..(5)将该.m文件生成P码文件>> pcode shiyan0501将shiyan0501.m删除;重新运行该文件夹;结果如下所示:练习:将该M文件函数改为M脚本文件;将数列元素个数通过键盘输入;程序应该如何修改①将M文件函数另存为M脚本文件;②在函数前加n=input'please input a num:'便可通过键盘键入文件f=mf;endk=f1/2^2n1f^22n1+1;end调用程序shiyan0502;运行结果如下所示:>> y=shiyan05020.7y =0.7754运行结果与使用子函数factorial的运行结果一致..(4)使用程序性能剖析..选择菜单‘view’->‘profile’命令;或使用在命令窗口输入‘profile viewer’命令都可以打开程序性能剖析窗口..在程序性能剖析窗口的‘命令输入栏’中输入需要剖析的命令;‘y=shiyan05020.7’;然后单击‘start profiling’按钮;查看剖析报告..(5)程序的调试..当有多个函数调用时;由于函数变量的工作空间是独立的;被调用的函数执行结束后变量消失;因此调试时要使用matlab调试器查看运行过程中的变量值..①设置断点..在需要查看的程序的地方设置断点;>> shiyan05020.7K>> yy =0.7000K>> x=0.5x =0.5000在K>>输入x=0.5即可将x的值从0.7修改为0.5.去除断点;查看结果:ans =0.7236结果与x值为0.7时不一致;当x=0.7时;y =0.7754;由此可知;x的值已被修改..②单步运行>> shiyan05020.79 n=n+1;K>>按单步运行键:可看到箭头不断的移动:6使用函数句柄..在命令窗口使用函数句柄调用函数..>> h_shiyan0502=shiyan0502h_shiyan0502 =shiyan0502>> y=fevalh_shiyan0502;0.5y =0.5236(7)使用全局变量..Matlabe的编程不提倡使用全局变量;本例中的程序主要是为了查看全局变量的概念..将n 作为全局变量;子函数factorial不修改;子函数cal程序和主函数shiyan0502修改如下:function y=shiyan0502x%shiyan0502 arcsinxglobal n;n=1;if absx<1y=x;while caln>0.0001y=y+calnx^2n+1;n=n+1;endelsedisp'输入错误';y=0;returnendfunction k=caln1global nfor m=1:nk=factorial2n/2^2nfactorialn^222n+1;Endglobal为设置的全局变量;子函数没有输入变量;而用全局变量n传递..在全局变量前设置断点;然后运行程序;当程序运行到断点处停止;接着不断使用单步运行调试;结果如下所示:|||练习:使用单步运行调试;查看全局变量n的变化;并在工作空间查看n;3、利用泛函命令实现数值分析①创建函数shiyan0503实现上述表达式关系..function y=shiyan0503t%shiyan0503 y=sint.^2.expat-babsta=0.1;b=0.5;y=sint.^2.expat-babst;②查看该函数的输出波形;如下图所示:注:1、报告内的项目或内容设置;可根据实际情况加以调整和补充..2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内..。
MATLAB实验报告三

掌握符号计算的基本方法;
三、使用仪器、材料
掌握程序设计控制流、M 函数文件、编写程序。
一台装有MATLAB7.0或以上的计算机
二、实验内容
1. 2.
计算二重积分 1
2
x2
四、实验过程原始记录(程序、数据、图表、计算等)
1
( x y )dydx。
2 2
63
1.
计算二重积分 1
2
Байду номын сангаас
x2
1
( x 2 y 2 )dydx
2.请分别写出用 for 和 while 循环语句计算 K 2i 1 2 2 2... 2 63 的程
i 0
63
序。此外,还请写出一种避免循环的计算程序。
4. 等比数列公式法
2 求一阶微分方程 x at bt, x(0) 2 的解
五、实验结果及分析
5.
2 2 求方程 x y 1, xy 2 的解。(提示:正确使用 solve)
广州大学学生实验报告
开课学院及实验室:
学院 机电学院
计算机 301B
电气 122 姓名 黄柱
2014 年
学号 成绩 指导 老师
5 月 20 日
年级、专 业、班
1207300074
实验课程名称 实验项目名称
MATLAB 语言及应用
实验三
符号计算及程序设计
姚菁
一、实验目的 二、实验内容 三、使用仪器、材料 四、实验过程原始记录(程序、数据、图表、计算等) 五、实验结果及分析 一、实验目的
请分别写出用 for 和 while 循环语句计算 K 2i 1 2 2 2... 2 63 的
MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。
2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。
4.学会运用MATLAB进行连续信号时移、反折和尺度变换。
5.学会运用MATLAB进行连续时间微分、积分运算。
6.学会运用MATLAB进行连续信号相加、相乘运算。
7.学会运用MATLAB进行连续信号的奇偶分解。
二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。
三、实验内容1.MATLAB软件基本运算入门。
1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。
矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。
2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。
3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。
2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
matlab程序设计与应用(第二版) 刘卫国 课后实验报告

0 0
0 0
4.0000 0
0 9.0000
A,H,Trace,Rank,Norm 结果 H = -3.2509e+004 Trace =33 Rank =5 Norm =25.3208 4、 A=[-29,6,18;20,5,12;-8,8,5]; [V,D]=eig(A); 结果 A = -29 20 -8 5、 5 8 6 18 12 5
0 0 2、 H=hilb(5); P=pascal(5); Hh=det(H); Hp=det(P); Th=cond(H); Tp=cond(P); H,P,Hh,Hp,Th,Tp 结果 Hh = 3.7493e-012 Hp =1 Th = 4.7661e+005 Tp =8.5175e+003 3、 A=fix(10*rand(5)); H=det(A); Trace=trace(A); Rank=rank(A); Norm=norm(A);
b=?1 ans =1 x1 =0.6180 r10 =0.6180 r20 =-1.6180 4、 for i=1:100 if i==1 f(i)=1; elseif i==2 f(i)=0; elseif i==3 f(i)=1; else f(i)=f(i-1)-2*f(i-2)+f(i-3); end end a=max(f); b=min(f); c=sum(f); disp(['最大值',num2str(a)]); disp(['最小值',num2str(b)]); disp(['各数之和',num2str(c)]); zhengshu=length(find(f>0)); zeroshu=length(find(f==0)); fushu=length(find(f<0)); 结果 最大值;4.377633e+011 最小值:-8.994121e+011 各数之和:-7.427456e+011 zhengshu =49 zeroshu = 2 fushu =49 5、 s=0;
程序设计实验报告(matlab)

程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。
实验内容:运用Matlab进行简单的程序设计。
实验方法:基于Matlab环境下的简单程序设计。
实验结果:成功掌握简单的程序设计和Matlab基本编程语法。
实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。
实验内容:在Matlab环境下进行多项式拟合和插值的计算。
实验方法:结合Matlab的插值工具箱,进行相关的计算。
实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。
实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。
实验内容:利用Matlab进行最小二乘法计算。
实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。
实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。
实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。
实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。
实验方法:基于Matlab的ODE工具箱,进行ODE求解。
实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。
总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。
通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
MATLAB 程序设计教程第二版实验答案包括第七章

第二章:1.(1) w=sqrt(2)*(1+0.34245*10^(-6))w =1.4142(2) a=3.5;b=5;c=-9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a)x =0.9829(3) a=3.32;b=-7.9;y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a)y =-128.4271(4) t=[2,1-3i;5,-0.65];>> z=0.5*exp(2*t)*log(t+sqrt(1+t*t))z =1.0e+004 *0.0057 - 0.0007i 0.0049 - 0.0027i1.9884 - 0.3696i 1.7706 - 1.0539i2A=[-1,5,-4;0,7,8;3,61,7];B=[8,3,-1;2,5,3;-3,2,0]; >>(1) A+6*Bans =47 23 -1012 37 26-15 73 7>> A^2-B+eye-18 -216 1823 533 11022 868 526>>(2) A*Bans =14 14 16-10 51 21125 328 180>> A.*Bans =-8 15 40 35 24-9 122 0>> B*Aans =-11 0 -157 228 533 -1 28(3) A/Bans =1.2234 -0.92552.9787 -0.9468 2.3511 -0.9574 4.61703.8723 13.8936>> B\Aans =-0.5106 -8.6170 -1.1277 0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043>>(4) [A,B]ans =-1 5 -4 8 3 -10 7 8 2 5 33 61 7 -3 2 0>> [A([1,3],:);B^2]ans =-1 5 -43 61 773 37 117 37 13-20 1 9>>3A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14];(1) b=find(A>=10&A<=25);>> A(b)ans =2310(2) B=A(1:3,:)B =23.0000 10.0000 -0.7780 041.0000 -45.0000 65.0000 5.000032.0000 5.0000 0 32.0000C=A(:,1:2)C =23.0000 10.000041.0000 -45.000032.0000 5.00006.0000 -9.5400>> D=A(2:4,3:4)D =65.0000 5.0000 0 32.0000 54.0000 3.1400>> E=B*CE =1.0e+003 *0.9141 -0.22391.20802.71231.1330 -0.2103(3) E<Dans =0 10 00 1>> E&Dans =1 10 11 1>> E|Dans =1 11 11 1~E|~Dans =0 01 00 0第三章:2.(1)c=input('请输入成绩');if(c>=90&c<=100)disp 'A' ;elseif(c>=80)disp 'B';elseif(c>=70)disp 'C';elseif(c>60)disp 'D';elsedisp 'E';end请输入成绩55Ec=input('please enter:'); switch fix(c/10)case {9,10}disp('A');case {8}disp('B');case {7}disp('C');case {6}disp('D');case {0,1,2,3,4,5} disp('E');end>> asplease enter:55E>> asplease enter:67D(2)while(1)c=input('请输入成绩');if(c>=90&c<=100)disp 'A' ;elseif(c<90&c>=80)disp 'B';elseif(c<80&c>=70)disp 'C';elseif(c<70&c>=60)disp 'D';elseif(c<60&c>=0)disp 'E';elsedisp 'wrong'endend>> third请输入成绩113wrong请输入成绩-47wrong请输入成绩45E请输入成绩89B请输入成绩78C3.a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] b=max(a)c=min(a)b=0c=0for i=1:20if a(i)>bb=a(i);endif a(i)<cc=a(i);endendbc6.A=rand(5,6)n=input('请输入矩阵:');if n>5n=5A(n,n)elseA(n)End6. a=rand(5,6);n=input('请输入n');if n==1disp(a(1,:))endif n==2disp(a(2,:))endif n==3disp(a(3,:))endif n==4disp(a(4,:))endif n==5disp(a(5,:))endif n>5disp(a(5,:))end第四章:1.(1)x=-12:0.001:12;y=x-x.^3/6;plot(x,y);xlabel('x轴');ylabel('y轴');title('Y=X-X^3/3!');(2)ezplot('x^2+2*y^2-64',[-8,8,-8,8])xlabel('x轴');ylabel('y轴');axis equaltitle('x^2+2y^2=64');4.(1)t=0:pi/100:2*pi;x=exp(-t/20).*cos(t);y=exp(-t/20).*sin(t);z=t;plot3(x,y,z)(2)[x,y]=meshgrid(-5:5);z=ones(11);surf(x,y,z);shading interp;第五章1.(1)A=randn(10,5);a=mean(A)a =0.0013 0.2310 0.0253 0.3588 -0.4197b=std(A)b =0.9034 0.8829 1.1898 0.7832 1.0821(2)max(max(A))ans =2.1832>> min(min(A))ans =-2.1707(3).sum(sum(A))ans =1.9666sum(A,1)ans =0.0128 2.3095 0.2528 3.5884 -4.1969(4).sort(A)ans =-1.6656 -0.8323 -1.5937 -1.2025 -2.1707-1.1465 -0.5883 -1.4410 -0.3999 -1.6041-0.4326 -0.1867 -1.3362 -0.1567 -1.0565-0.0376 -0.1364 -0.6918 -0.0198 -0.92190.1253 -0.0956 0.2944 0.6686 -0.80510.1746 0.0593 0.5711 0.6900 -0.05920.2877 0.1139 0.7143 0.7119 0.21930.3273 0.7258 0.8580 0.8156 0.25731.1892 1.0668 1.2540 1.1908 0.52871.19092.1832 1.6236 1.2902 1.4151>> sort(ans,2,'descend')ans =-0.8323 -1.2025 -1.5937 -1.6656 -2.1707-0.3999 -0.5883 -1.1465 -1.4410 -1.6041-0.1567 -0.1867 -0.4326 -1.0565 -1.3362-0.0198 -0.0376 -0.1364 -0.6918 -0.92190.6686 0.2944 0.1253 -0.0956 -0.80510.6900 0.5711 0.1746 0.0593 -0.05920.7143 0.7119 0.2877 0.2193 0.11390.8580 0.8156 0.7258 0.3273 0.25731.2540 1.1908 1.1892 1.0668 0.52872.1832 1.6236 1.4151 1.2902 1.19092.(2)n=1:10;a=n.*n;interp1(n,a,2.2,'cubic')ans =4.8133第七章(1)g=inline('sin(x)./x');>> [s,n]=quad(g,0,2)s =1.6054n =18(2)g=inline('1./((x-0.3).*(x-0.3)+0.01)-1./((x-0.9).*(x-0.9)+0.04)-6'); >> [s,n]=quad(g,0,1)s =11.7006n =145。
MATLAB程序设计教程(第二版)第三章实验报告下载

大学社区网收集整理评分日期湖南商学院北津学院实验报告课程名称MATLAB科学计算编程语言实验名称MATLAB程序设计专业班级信科1121班姓名xxx学号xxx实验日期2012年11月5日2012—2013学年度第一学期一、实验目的1.掌握利用if语句、switch语句实现选择结构的方法。
2.掌握利用for语句、while语句实现循环结构的方法。
3.熟悉利用向量运算来代替循环操作的方法并理解MATLAB程序设计的特点4.掌握定义和调用MATLAB函数的方法。
二、实验环境系统windows7旗舰版处理器Intel(R)Core(TM)i7-3610M CPU @ 2.30GHz 安装内存 4.00GB (3.07GB 可用)系统类型64位操作系统运行环境MATLAB 5.3三、实验基本原理利用上课所学知识解决以下问题:1.从键盘输入一个3位数的整数,将它反向输出。
如输入639,输出936。
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.输入20个数,求其中最大数和最小数。
要求分别用循环结构和调用MATLAB 的max 函数、min 函数来实现。
4.23.0ln)3.0sin(23.03.0a a e e y a a +++−=−,当a 取-3.0、-2.9、-2.8、…、2.8、2.9、3.0时,求各点的函数值。
要求分别用顺序结构和循环结构实现。
5.当n 分别取100、1000、10000时,求下列各式的值:(1))6...(n1...31211122222π=+++++(2))2...()12)(12()2)(2(...756653443122π=⎟⎟⎠⎞⎜⎜⎝⎛+−⎟⎟⎠⎞⎜⎜⎝⎛××⎟⎟⎠⎞⎜⎜⎝⎛××⎟⎟⎠⎞⎜⎜⎝⎛××n n n n 要求分别用循环结构和向量运算(使用sum 函数)来实现。
国家开放大学《Matlab语言及其应用》实验报告(第三章--绘制二维和三维图形)

——绘制二维和三维图形
姓名:学号:
实验名称
绘制二维和三维图形
实验目标
利用Matlab常见函数完成二维图形的绘制和图形的标注;实现三维曲线和曲面图形的绘制。
实验要求
熟悉Matlab基本绘图函数、图形处理函数,了解三维曲线和曲面图形的绘制方法。
实验步骤
1、用Matlab基本绘图函数绘制二维图形:根据已知数据,用plot函数画出正弦函数曲线,并进行相应标注。
enon
实验内容
1.二维曲线绘图
例:精细指令实例
2.三维曲线绘图
【例】三维曲线绘图基本指令演示一:plot3
t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);
plot3(x,y,z,'b-',x,y,z, 'rd')三维曲线绘图(蓝实线和红菱形)
box on
legend('链','宝石')在右上角建立图例
subplot(121);
surf(x1,y1,z1);
subplot(122);
[x2,y2,z2]=sphere (30);
surf(x2,y2,z2);
clear;clf;
z=peaks;
subplot(1,2,1);mesh(z);% 透视
hidden off
subplot(1,2,2);mesh(z);%不透视
2、用三维曲线绘图基本指令plot 3绘制三维曲线图:t=0~2pi;x=sin(t);y=cos(t);z=cos(2*t);用plot3函数画出关于x,y,z的三维曲线图,并适当加标注。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大学社区网收集整理
评分
日期湖南商学院北津学院实验报告
课程名称MATLAB科学计算编程语言
实验名称MATLAB程序设计
专业班级信科1121班
姓名xxx
学号xxx
实验日期2012年11月5日
2012—2013学年度第一学期
一、实验目的
1.掌握利用if语句、switch语句实现选择结构的方法。
2.掌握利用for语句、while语句实现循环结构的方法。
3.熟悉利用向量运算来代替循环操作的方法并理解MATLAB程序设计的特点
4.掌握定义和调用MATLAB函数的方法。
二、实验环境
系统windows7旗舰版
处理器Intel(R)Core(TM)i7-3610M CPU @ 2.30GHz 安装内存 4.00GB (3.07GB 可用)系统类型64位操作系统运行环境
MATLAB 5.3
三、实验基本原理
利用上课所学知识解决以下问题:
1.从键盘输入一个3位数的整数,将它反向输出。
如输入639,输出936。
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.输入20个数,求其中最大数和最小数。
要求分别用循环结构和调用MATLAB 的max 函数、min 函数来实现。
4.23.0ln
)3.0sin(23.03.0a a e e y a a +++−=−,当a 取-3.0、-2.9、-2.8、…、2.8、2.9、
3.0时,求各点的函数值。
要求分别用顺序结构和循环结构实现。
5.当n 分别取100、1000、10000时,求下列各式的值:
(1))
6...(n
1...31211122222π=+++++(2))
2...()12)(12()2)(2(...756653443122π
=⎟⎟⎠
⎞⎜⎜⎝⎛+−⎟⎟⎠⎞⎜⎜⎝⎛××⎟⎟⎠⎞⎜⎜⎝⎛××⎟⎟⎠⎞⎜⎜⎝⎛××n n n n 要求分别用循环结构和向量运算(使用sum 函数)来实现。
6.建立5×6矩阵,要求输出矩阵第n 行元素。
当n 值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。
7已知,o999
)
20()30()40(f f f y +=
(1)当)5ln(10)(2
++=n n n f 时,y 的值是多小。
(2)当+×+×+×=433221)(n f …+)1(+×n n 时,y 的值是多小。
8.先用函数的递归调用定义一个函数文件求
∑=n
i m i 1,然后调用该函数文件求
∑∑∑===++10
1
50
12
100
11k k k k k k 。
四、实验内容与步骤:
1.从键盘输入一个3位整数,将它反向输出。
如输入639,输出为936。
clear
m=input('请输入一个三位数:');m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);m=m1+m2*10+m3*100;disp(m);lx1
请输入一个三位数:456
654
2.输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。
其中90~100分为A ,80~89分为B ,70~79分为C,60~69分为D ,60分以下为E 。
要求:
(1)分别用if 语句和switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对
m='C';
case{6}
m='D';
case num2cell(0:5)
m='E';
otherwise
m='输入出错';
end
disp(m);
3.输入20个数,求其中最大数和最小数。
要求分别用循环结构和调用MATLAB的max函数、min函数来实现。
a=input('请输入二十个数');%用循环结构实现
max=a(1);
min=a(1);
for i=1:20;
if max<a(i);
max=a(i);
end
if min>a(i);
min=a(i);
end
end
max min lx3
请输入二十个数[1234567891011121314151617181920]max =
20min =
1clear
a=input('请输入二十个数');%以下用max 、min 函数实现
max=max(a)min=min(a)
4.y=
23.0ln )3.0sin(23.03.0a
a e e a a +++−−,当a 取-3.0、-2.9、-2.8、…、2.8、2.9、3.0时,求各点的函数值。
要求分别用顺序结构和循环结构实现。
clear
for a=-3.0:0.1:3.0
%用循环结构实现
y=((exp(0.3*a)-exp(-0.3*a))/2)*sin(a+0.3)+log((0.3+a)/2)end clear
a=[-3.0:0.1:3.0];
%用顺序结构实现
i=1:n;%用prod函数实现
b=prod((2.*i).*(2.*i)./((2.*i-1).*(2.*i+1)))
5×矩阵,要求输出矩阵第n行元素。
当n值超过矩阵的6.建立6
行数时,自动转为输出矩阵最后一行元素,并给出出错信息。
clear
a=rand(5,6);
n=input('请输入一个数:');
if n>5
n=5
a(n,:)
disp('输入超出范围');
else
a(n,:)
end
lx6
请输入一个数:5
ans=
0.89130.44470.17630.89360.1389 0.1988
>>lx6
请输入一个数:6
5ans =
0.4660
0.67210.83180.18970.1509
0.5936
输入超出范围7.已知
)
30()20()40(f f f y +=
(1)
当
)5ln(10)(2
++=n n n f 时,y 的值是多少。
function a=n2a(n)a=n+10*log(n*n+5)y=n2a(40)/(n2a(30)+n2a(20))a =113.8088a =
98.0793a =
80.0389y =
0.6390(2)
当)1(......433221)(+×++×+×+×=n n n f 时,y 的值是
多少。
function b=n1b(n)b=0;for i=1:n b=b+i*(i+1);end
y=n1b(40)/(n1b(30)+n1b(20))y =
1.7662
五、实验小结与思考:
1.什么叫M 文件?如何建立并执行一个M 文件?答:0
2.编写程序,建立向量N=[1,2,3,4,5],然后利用向量N 产生下列向量:(1)2,4,6,8,10(2)1/2,1,3/2,2,5/2(3)1,1/2,1/3,1/4,1/5(4)1,1/4,1/9,1/16,1/25
3.编写程序,产生20个两位随机整数,输出其中小于平均值的偶数。
答:
4.当n 分别取100、1000、10000时,求下列各式的值:(1)+−+−
7151311…)4
(π=(2)
+++64116141…++n 41…⎟⎠
⎞⎜⎝⎛=31要求分别用循环结构和向量运算(使用sum 函数)来实现。
5.编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。
6.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。