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

合集下载

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实验报告三

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-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程序设计与应用(第二版) 刘卫国 课后实验报告

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进行最小二乘法计算。

实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。

实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。

实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。

实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。

实验方法:基于Matlab的ODE工具箱,进行ODE求解。

实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。

总结在Matlab环境下进行程序设计实验,使我对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科学计算编程语言实验名称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语言及其应用》实验报告
——绘制二维和三维图形
姓名:学号:
实验名称
绘制二维和三维图形
实验目标
利用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的三维曲线图,并适当加标注。

matlab程序设计实验报告

matlab程序设计实验报告

matlab程序设计实验报告《MATLAB程序设计实验报告》摘要:本实验报告旨在介绍MATLAB程序设计的基本原理和实践操作,通过实验演示和分析,展示了MATLAB在工程领域的应用和重要性。

本报告详细介绍了MATLAB程序设计的基本语法和常用函数,以及如何利用MATLAB进行数据处理、图像处理、信号处理等工程应用。

通过本报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。

1. 引言MATLAB是一种用于算法开发、数据可视化、数据分析和数值计算的高级技术计算语言和交互式环境。

它具有强大的数学计算功能和丰富的绘图工具,广泛应用于工程、科学和金融等领域。

本实验报告将介绍MATLAB程序设计的基本原理和实践操作,帮助读者快速掌握MATLAB的基本技能。

2. 实验目的本实验的主要目的是让读者了解MATLAB程序设计的基本语法和常用函数,掌握MATLAB在工程领域的应用和重要性。

通过实验演示和分析,展示MATLAB 在数据处理、图像处理、信号处理等方面的应用。

3. 实验内容(1)MATLAB程序设计的基本语法和常用函数(2)利用MATLAB进行数据处理的实验演示(3)利用MATLAB进行图像处理的实验演示(4)利用MATLAB进行信号处理的实验演示4. 实验步骤(1)学习MATLAB程序设计的基本语法和常用函数(2)编写MATLAB程序,实现数据处理、图像处理、信号处理等功能(3)进行实验演示和分析,展示MATLAB在工程领域的应用和重要性5. 实验结果与分析通过本实验的学习,读者将能够掌握MATLAB程序设计的基本技能,包括数据处理、图像处理、信号处理等方面的应用。

通过实验演示和分析,读者将了解MATLAB在工程领域的重要性,为工程实践提供有力的支持。

6. 结论MATLAB程序设计是一种强大的工程工具,具有广泛的应用前景。

通过本实验报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。

MATLAB实验报告

MATLAB实验报告

MATLAB实验报告MATLAB 实验报告姓名:专业:学号:实验⼀ MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。

2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。

MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6 ⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8 标准数组⽣成函数表9 数组操作函数三、实验内容1、学习安装MATLAB软件。

2、学习使⽤help命令,例如在命令窗⼝输⼊help eye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察command window、command history和workspace 等窗⼝的变化结果。

4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。

注意:每⼀次M-file的修改后,都要存盘。

四、实验结果练习A:(1)help rand,然后随机⽣成⼀个2×6的数组,观察command window、command history和workspace等窗⼝的变化结果。

MATLAB程序设计教程(第二版)课后答案

MATLAB程序设计教程(第二版)课后答案

MA TLAB第二版课后答案unit3-8 unit3实验指导1、 n=input('请输入一个三位数:');a=fix(n/100);b=fix((n-a*100)/10);c=n-a*100-b*10;d=c*100+b*10+a2(1)n=input('请输入成绩');switch ncase num2cell(90:100)p='A';case num2cell(80:89)p='B';case num2cell(70:79)p='C';case num2cell(60:69)p='D';otherwisep='E';endprice=p(2)n=input('请输入成绩');if n>=90&n<=100p='A';elseif n>=80&n<=89p='B';elseif n>=70&n<=79p='C';elseif n>=60&n<=69p='D';elsep='E';endprice=p(3)tryn;catchprice='erroe'end3n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];b=n(1);for m=2:20if n(m)>aa=n(m);elseif n(m)<bb=n(m);endendmax=amin=b法2n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];min=min(n)max=max(n)4b=[-3.0:0.1:3.0];for n=1:61a=b(n);y(n)=(exp(0.3*a)-exp(-0.3*a))/2*sin(a+0.3)+log((0.3+a)/2);endy5y1=0;y2=1;n=input('请输入n的值:');for i=1:ny1=y1+1/i^2;y2=y2*((4*i*i)/((2*i-1)*(2*i+1)));endy1y26A=[1,1,1,1,1,1;2,2,2,2,2,2;3,3,3,3,3,3;4,4,4,4,4,4;5,5,5,5,5,5;6,6,6,6,6,6]; n=input('请输入n的值:');if n<=5&n>=0disp(A([n],:));elseif n<0disp(lasterr);else disp(A([6],:));disp(lasterr);end7(1)f=[];f(n)=n+10*log(n^2+5);endy=f(40)/(f(30)+f(20))(2)f=[];a=0;for n=1:40f(n)=a+n*(n+1);a=f(n);endy=f(40)/(f(30)+f(20))8y=0;m=input('输入m的值:');n=input('输入n值:');for i=1:ny=y+i^m;endy************************************************************ function s=shi8_1(n,m)s=0;for i=1:ns=s+i^m;end************************************************************ shi8_1(100,1)+shi8_1(50,2)+shi8_1(10,1/2)思考练习2N=[1,2,3,4,5];2.*NN./21./N1./N.^23s=fix(100*rand(1,20)*9/10+10)y=sum(s)/20j=0;for i=1:20if s(i)<y&rem(s(i),2)==0j=j+1;A(j)=s(i);else continue;endendA4y1=0;y2=0;n=input('请输入n的值:'); for i=1:ny1=y1+-(-1)^i/(2*i-1);y2=y2+1/4^i;endy1y2unit4实验指导1(1)x=-10:0.05:10;y=x-x.^3./6;plot(x,y)(2)x=-10:0.5:10;ezplot('x^2+2*y^2-64',[-8,8]); grid on;2t=-pi:pi/10:pi;y=1./(1+exp(-t));subplot(2,2,1);bar(t,y);title('条形图(t,y)');axis([-pi,pi,0,1]);subplot(2,2,2);stairs(t,y,'b');title('阶梯图(t,y)');axis([-pi,pi,0,1]);subplot(2,2,3);stem(t,y,'k');title('杆图(t,y)');axis([-pi,pi,0,1]);subplot(2,2,4);loglog(t,y,'y');title('对数坐标图(t,y)');3(1)t=0:pi/50:2*pi;r=5.*cos(t)+4;polar(t,r);title('\rho=5*cos\theta+4'); (2)t=-pi/3:pi/50:pi/3;r=5.*((sin(t)).^2)./cos(t); polar(t,r);4(1)t=0:pi/50:2*pi;x=exp(-t./20).*cos(t);y=exp(-t./20).*sin(t);z=t;plot3(x,y,z);grid on;(2)[x,y]=meshgrid(-5:5);z=zeros(11)+5;mesh(x,y,z);shading interp;5[x,y,z]=sphere(20);surf(x,y,z);axis off;shading interp;m=moviein(20);for i=1:20axis([-i,i,-i,i,-i,i])m(:,i)=getframe;endmovie(m,4);思考练习2(1)x=-5:0.1:5;y=(1./(2*pi)).*exp((-(x.^2))/2); plot(x,y);(2)t=-2*pi:0.1:2*pi;x=t.*sin(t);y=t.*cos(t);plot(x,y);grid on;3t=0:pi/1000:pi;x=sin(3.*t).*cos(t);y1=sin(3.*t).*sin(t);y2=2.*x-0.5;plot(x,y1,'k',x,y2);hold on;k=find(abs(y1-y2)<1e-2);x1=x(k);y3=2.*x1-0.5;plot(x1,y3,'rp');4x=-2:0.01:2;y=sin(1./x);subplot(2,1,1);plot(x,y);subplot(2,1,2);fplot('sin(1./x)',[-2,2],1e-4);5(1)i=-4*pi:0.1:10;j=12./sqrt(i);polar(i,j);title('{\rho}=12/sqrt(\theta)')(2)a=-pi/6:0.01:pi/6;b=3.*asin(a).*cos(a)./((sin(a)).^3+(cos(a)).^3); polar(a,b);6(1)[u,v]=meshgrid(-4:0.1:4);x=3.*u.*sin(v);y=2.*u.*cos(v);z=4.*u.^2;subplot(2,1,1);mesh(x,y,z);subplot(2,1,2);surf(x,y,z);(2)[x,y]=meshgrid(-3:0.2:3);z=-5./(1+x.^2+y.^2);subplot(1,2,1);mesh(x,y,z);subplot(1,2,2);surf(x,y,z);unit5实验指导1A=randn(10,5)x=mean(A)y=std(A)Max=max(max(A))Min=min(min(A))Sumhang=sum(A,2)SumA=sum(Sumhang)B=sort(A);C=sort(B,2,'descend');C2(1)a=0:15:90;b=a./180.*pi;s=sin(b)c=0:15:75;d=c./180.*pi;t=tan(d)e=input('请输入想计算的值:'); S=sin(e/180*pi)T=tan(e/180*pi)S1=interp1(a,s,e,'spline')T1=interp1(c,t,e,'spline')P1=polyfit(a,s,5);P2=polyfit(c,t,5);S2=polyval(P1,e)T2=polyval(P2,e)(2)n=[1,9,16,25,36,49,64,81,100]; N=sqrt(n);x=input('ji suan zhi : ');interp1(n,N,x,'cubic')3N=64;T=5;t=linspace(0,T,N);h=exp(-t);dt=t(2)-t(1);f=1/dt;X=fft(t);F=X(1:N/2+1);f=f*(0:N/2)/N;plot(f,abs(F),'-*')4P=[2,-3,0,5,13];Q=[1,5,8];p=polyder(P)q=polyder(P,Q)[a,b]=polyder(P,Q)5P1=[1,2,4,0,5];P2=[0,1,2];P3=[1,2,3];P=P1+conv(P2,P3)X=roots(P)A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];p=polyval(P,A)思考练习4A=rand(1,30000);a=mean(A)b=std(A)Max=max(A)Min=min(A)n=0;for i=1:30000if(A(i)>0.5)n=n+1;endendny=n/300005p=[45,74,54,55,14;78,98,45,74,12;87,98,85,52,65][M,S]=max(p)[N,H]=min(p)junzhi=mean(p,1)fangcha=std(p,1,1)zong=sum(p,2);[Max,wei]=max(zong)[Min,wei]=min(zong)[zcj,xsxh]=sort(zong,'descend')6x=[1:10:101];y=[0,1.0414,1.3222,1.4914,1.6128,1.7076,1.7853,1.8513,1.9085,1.9590,2.0043]; [p,s]=polyfit(x,y,5)a=1:5:101;y1=polyval(p,a);plot(x,y,':o',a,y1,'-*')unit6实验指导1A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];p=[0.95,0.67,0.52]';x=A\pA=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; p=[0.95,0.67,0.53]';x=A\pcond(A)2(1)x1=fzero(@funx1,-1)function fx=funx1(x)fx=x^41+x^3+1;(2)x2=fzero(@funx2,0.5)function fx=funx2(x)fx=x-sin(x)/x;(3)options=optimset('Display','off');x=fsolve(@fun3,[1,1,1]',options)q=fun3(x)function q=fun3(p)x=p(1);y=p(2);z=p(3);q(1)=sin(x)+y^2+log(z)-7;q(2)=3*x+2^y-z^3+1;q(3)=x+y+z-5;3(1)t0=0;tf=5;y0=1;[t,y]=ode23(@fun4,[t0,tf],y0);t'y'function yp=fun4(t,y)yp=-(1.2+sin(10*t))*y;(2)t0=0;tf=5;y0=1;[t,y]=ode23(@fun5,[t0,tf],y0);t'y'function yp=fun5(t,y)yp=cos(t)-y/(1+t^2);4x=fminbnd(@mymin,0,2);-mymin(x)function fx=mymin(x)fx=-(1+x.^2)/(1+x.^4);5options=optimset('Display','off');[x,fval]=fmincon(@fun6,[0,0,0],[],[],a,b,lb,ub)-fvalfunction f=fun6(x)f=-(sqrt(x(1))+(400-x(1))*1.1+(sqrt(x(2))+(400-x(1))*1.1-x(2))*1.1+sqrt(3)+(((400-x(1))*1. 1-x(2))*1.1-x(3))*1.1+sqrt(x(x4)));思考练习1(1)A=[2,3,5;3,7,4;1,-7,1];B=[10,3,5]';C1=inv(A)*BC2=A\B[L,U]=lu(A);x=U\(L\B)(2)A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];B=[-4,13,1,11]';C1=inv(A)*BC2=A\B[L,U]=lu(A);x=U\(L\B)2(1)x1=fzero(@funx1,1.5)function fx=funx1(x)fx=3*x+sin(x)-exp(x);(2)x1=fzero(@funx2,1)function fx=funx2(x)fx=x-1/x+5;(3)options=optimset('Display','off');x=fsolve(@fun3,[3,0]',options)q=fun3(x)function q=fun3(p)x=p(1);y=p(2);q(1)=x^2+y^2-9;q(2)=x+y-1;3(1)t0=0;tf=5;y0=[0,1];[t,y]=ode45(@vdpol,[t0,tf],y0);[t,y]function ydot=vdpol(t,y);ydot(1)=(2-3*y(2)-2*t*y(1))./(1+t^2);ydot(2)=y(1);ydot=ydot';(2)t0=0;tf=5;y0=[1;0;2];[t,y]=ode45(@vdpoll,[t0,tf],y0);[t,y]function ydot=vdpoll(t,y);ydot(1)=cos(t)-y(3)./(3+sin(t))+5*y(1).*cos(2*t)/((t+1).^2)-y(2); ydot(2)=y(1);ydot(3)=y(2);ydot=ydot';4x=fminbnd(@mymin,0,pi);-mymin(x)function fx=mymin(x)fx=-sin(x)-cos(x.^2);5[x,y1]=fminbnd(@mymax,0,1.5);-y1function fx=mymax(x);fx=-(9*x+4*x.^3-12*x.^2);unit7实验指导1(1)format longfx=inline('sin(x)./x');[I,n]=quadl(fx,0,2,1e-10)(2)format longfx=inline('1./((x-0.3).^2+0.01)-1./((x-0.9).^2+0.04)-6');[I,n]=quad(fx,0,1,1e-10)2(1)global ki;ki=0;I=dblquad(@fxy,0,1,0,1)ki(2)f=inline('abs(cos(x+y))','x','y');I=dblquad(f,0,pi,0,pi)3X=0.3:0.2:1.5;F=[0.3895,0.6598,0.9147,1.1611,1.3971,1.6212,1.8325];trapz(X,F)4p=0:pi/5:2*pi;for n=1:3nDX=diff(sin(p),n)end5f=inline('sin(x)./(x+cos(2.*x))');g=inline('(cos(x).*(x+cos(2*x))-sin(x).*(1-2.*sin(2*x)))/(x+cos(2.*x)).^2');x=-pi:0.01:pi;p=polyfit(x,f(x),5);dp=polyder(p);dpx=polyval(dp,x); %求dp在假设点的函数值dx=diff(f([x,3.01]))/0.01; %直接对f(x)求数值导数gx=g(x); %求函数f的导函数g在假设点的导数plot(x,dpx,x,dx,'.',x,gx,'-'); %作图思考练习2format longfx=inline('1./(1+x.^2)');[I,n]=quad(fx,-Inf,Inf,1e-10)[I,n]=quadl(fx,-Inf,Inf,1e-10)x=-100000:100000;y=1./(1+x.^2);trapz(x,y)format short3(1)format longfx=inline('log(1+x)./(1+x.^2)');[I,n]=quad(fx,0,1,1e-10)(2)format longfx=inline('sqrt(cos(t.^2)+4*sin((2*t).^2)+1)'); [I,n]=quad(fx,0,2*pi,1e-10)4f=inline('4.*x.*z.*exp(-z.^2.*y-x.^2)');I=triplequad(f,0,pi,0,pi,0,1)5f=inline('sin(x)');g=inline('cos(x)');x=0:0.01:2*pi;p=polyfit(x,f(x),5);dp=polyder(p);dpx=polyval(dp,x);dx=diff(f([x,2*pi+0.01]))/0.01;gx=g(x);plot(x,dpx,x,dx,'.',x,gx,'-')unit8实验指导1syms x y;s=x^4-y^4;factor(s)factor(5135)2syms x;f=(x-2)/(x^2-4);limit(f,x,2)sym x;f=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);limit(f,x,-1,'right')3sym x;f=sin(1/x);diff(f,'x')diff(f,'x',2)sym x;f=(1-cos(2*x))/x;diff(f,'x')diff(f,'x',2)4sym x;f=sqrt(exp(x)+1);int(f,'x')syms x y;f=x/(x+y);int(f,'y')sym x;f=exp(x)*(1+exp(x))^2;int(f,'x',0,log(2))sym x;f=x*log(x);int(f,'x',1,exp(1))5sym x;s=symsum((-1)^(x+1)/x,1,Inf)sym y;z=symsum(y^(2*y-1)/(2*y-1),1,Inf)6sym x;f1=(exp(x)+exp(-x))/2;f2=sqrt(x^3-2*x+1);taylor(f1,x,5,0)taylor(f2,x,6,0)7syms x y a;x=solve('x^3+a*x+1=0','x')x=solve('sin(x)+2*cos(x)-sqrt(x)=0','x')[x y]=solve('log(x/y)=9','exp(x+y)=3','x','y')8syms n;[x,y]=dsolve('x*(D2y)+(1-n)*(Dy)+y=0','y(0)=0','Dy(0)=0','x') 思考练习2syms x B1 B2 a bs1=2*((cos(x))^2)-(sin(x))^2;s2=sin(B1)*cos(B2)-cos(B1)*sin(B2);s3=sqrt((a+sqrt(a^2-b))/2)+sqrt((a-sqrt(a^2-b))/2); s4=(4*x^2+8*x+3)/(2*x+1);h1=simplify(s1)h2=simplify(s2)h3=simplify(s3)h4=simplify(s4)3syms x a;f=abs(x)/x;limit(f,x,0,'left')f=(x+a/x)^x;limit(f,x,inf)4syms x y mf=sqrt(x+sqrt(x+sqrt(x)));m=diff(f,'x')diff(m,'x')syms x y;f=x+y-sqrt(x^2+y^2);z1=diff(f,x)z2=diff(f,y)5syms x y;f=x+y-sqrt(x^2+y^2);z1=diff(f,x)z2=diff(f,y)sym x;f=1/(asin(x)^2*(1-x^2)^(1/2));int(f)6syms xf=1/(1+x);int(f,0,4)sym x;f=x^3*sin(x)^2/(x^6+2*x^4+1);int(f,-1,1)sym x;f=x^3*sin(x)^2/(x^6+2*x^4+1);int(f,-1,1)7syms ns=symsum(1/4^n,1,inf)sym n;s=symsum(((n+1)/n)^(1/2),1,inf)eval(y)8syms xf=tan(x);taylor(f,x,3,0)syms xf=sin(x)^2;taylor(f,x,5,0)9syms xx=solve('log(1+x)-5/(1+sin(x))=2','x')syms x y z[x y z]=solve('4*x^2/(4*x^2+1)=y','4*y^2/(4*y^2+1)=z','4*z^2/(4*z^2+1)=x','x','y','z') 10[x ,y]=dsolve('Dx=3*x+4*y','Dy=5*x-7*y','x(0)=0','y(0)=1','t')。

MATLAB程序设计及应用第2版课件全全书教学教程完整版电子教案最全幻灯片

MATLAB程序设计及应用第2版课件全全书教学教程完整版电子教案最全幻灯片

第1章 MATLAB入门与基本操作
1.3 MATLAB的安装启动 与操作桌面简介
1.3.1 MATLAB的安装和启动
MATLAB 可以在Windows环境下直接安装。在
MATLAB安装完成后,会在Windows桌面上自动生成
MATLAB的快捷方式图标

1.3.1 MATLAB的安装和启动
双击图标
1.3.2 MATLAB默认窗口简介
• 指令窗(Command Window) 该窗口是进行各种MATLAB操作的最主要窗口。它位于 MATLAB默认窗口的正中间。用户可以在该窗口中提示符 “fx>>”后直接键入指令,按“Enter”键后,即可运行并 显示除窗口外的所有运行结果。当指令窗口提示符为 “fx>>”时,表示系统已经准备好,用户可以输入指令、函 数、表达式,按“Enter”键后便可执行。
1.4 MATLAB指令窗操作入门
,就打开了如图1.1所示的MATLAB默认窗口
(Desktop)。
图1.1
1.3 MATLAB的安装启动 与默认窗口简介
1.3.2 MATLAB默认窗口简介
图1.1所示的MATLAB默认窗口分为5个区域:指令窗、 当前目录窗、历史指令窗、工作空间窗和Details窗。 另外,在MATLAB默认窗口的上方,还嵌入了菜单栏 和工具栏,如图1.1所示。它们的使用及选择方式与 Windows环境中的相同。
图1.2
第1章 MATLAB入门与基本操作
1.4 MATLAB指令窗操作入门
1.4.1 MATLAB指令窗简介
MATLAB指令窗位于MATLAB默认窗口的正中间,如图 1.1所示。如果用户希望得到脱离默认窗口的几何独立的指 令窗,只要单击图1.2中的图标 ,并在下拉菜单中选择

MATLAB实验报告一二三

MATLAB实验报告一二三

2015秋2013级《MATLAB程序设计》实验报告实验一班级:软件131 姓名:付云雷学号:132872一、实验目的:1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。

2、掌握MATLAB常用命令的使用。

3、掌握MATLAB帮助系统的使用。

4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。

二、实验内容:1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。

图1 MATLAB工作桌面2、MATLAB的常用命令与系统帮助:(1)系统帮助help:用来查询已知命令的用法。

例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。

lookfor:用来寻找未知的命令。

例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。

找到所需的命令後,即可用help进一步找出其用法。

(2)数据显示格式:常用命令:说明format short 显示小数点后4位(缺省值)format long 显示15位format bank 显示小数点后2位format + 显示+,-,0format short e 5位科学记数法format long e 15位科学记数法format rat 最接近的有理数显示(3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。

具体用法如下:↑----重调前一行(可重复使用调用更早的)↓----重调后一行→----前移一字符←----后移一字符home----前移到行首end----移动到行末esc----清除一行del----清除当前字符backspace----清除前一字符(4)MATLAB工作区常用命令:who--------显示当前工作区中所有用户变量名whos--------显示当前工作区中所有用户变量名及大小、字节数和类型disp(x) -----显示变量X的内容clear -----清除工作区中用户定义的所有变量save文件名-----保存工作区中用户定义的所有变量到指定文件中load文件名-----载入指定文件中的数据3、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。

matlab程序流程控制的实验报告

matlab程序流程控制的实验报告

matlab程序流程控制的实验报告下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!实验报告:MATLAB程序流程控制一、实验目的:1. 掌握MATLAB的基本编程环境和语法规则。

MATLAB编程(第二版) 第三章

MATLAB编程(第二版) 第三章
....................................................................................................... 1 3.1 自上而下的编程方法简介 ................................................................................................ 1 3.3 关系运算符和逻辑运算符 ................................................................................................ 4 3.3.1 关系运算符 ............................................................................................................. 4 3.3.2 小心==和~=运算符 ................................................................................................ 5 3.3.3 逻辑运算符 ............................................................................................................. 6 例 3.1.........................................................................................................

MATLAB实验报告3

MATLAB实验报告3

3.6 基于Simulink 控制系统的稳态误差分析1.实验目的1)掌握使用Simulink 仿真环境进行控制系统稳态误差分析的方法。

2)了解稳态误差分析的前提条件是系统处于稳定状态。

3)研究系统在不同典型信号输入作用下,稳态误差的变化。

2.实验内容(1)研究系统在不同典型输入信号作用下,稳态误差的变化。

【例3-11】 已知一个单位负反馈系统开环传递函数为G(s)=)11.0(10 s s K ,分别K=10和K=1时,系统单位阶跃响应曲线并求出单位阶跃响应稳态误差。

【解】 首先对闭环系统判稳。

该系统为零极点模型,用函数roots()命令判断系统闭环全部特征根的实部都是负值,说明闭环系统稳定。

这样进行稳态误差分析才有意义。

K=10时的判稳程序如下:>> n1=100;d1=conv([1,0],[0.1,1]);G=tf(n1,d1);sys=feedback(G ,1);roots(sys.den{1})ans =-5.0000 +31.2250i-5.0000 -31.2250i然后在Simulink 环境下,建立系统数学模型,如图3-21所示。

设置仿真参数并运行,观察示波器Scope 中系统的单位阶跃响应曲线,如图3-22所示,并读出单位阶跃响应稳态误差。

图3-21 基于Simulink Ⅰ型控制系统单位阶跃响应(K=10)结构图图3-22 基于Simulink Ⅰ型控制系统单位阶跃响应稳态误差曲线【分析】实验曲线表明,Ⅰ型单位反馈系统在单位阶跃输入作用下,稳态误差e ssr=0,即Ⅰ型单位反馈系统稳态时能完全跟踪阶跃输入,是一阶无静差系统。

K=1时的判稳程序如下:>> n1=10;d1=conv([1,0],[0.1,1]);G=tf(n1,d1);sys=feedback(G,1);roots(sys.den{1})ans =-5.0000 + 8.6603i-5.0000 - 8.6603i在Simulink环境下建立的数学模型及仿真参数运行后示波器Scope中系统的单位阶跃响应曲线如下图所示。

matlab程序设计实验报告

matlab程序设计实验报告

matlab程序设计实验报告Matlab程序设计实验报告引言:Matlab(Matrix Laboratory)是一种强大的高级编程语言和环境,广泛应用于科学计算、数据分析和工程设计等领域。

本实验报告旨在介绍我在Matlab程序设计实验中的学习和实践经验。

一、Matlab基础知识1.1 Matlab的安装与配置在实验开始前,我们首先需要安装Matlab并进行相应的配置。

Matlab的安装过程相对简单,只需按照官方指引进行操作即可。

配置方面,我们可以设置工作目录、界面风格、字体大小等,以提高工作效率。

1.2 Matlab的基本语法Matlab的语法类似于其他编程语言,但也有一些特殊之处。

例如,Matlab中的变量名不区分大小写,函数名则区分大小写。

此外,Matlab还具有丰富的数学函数库,可以方便地进行各种数值计算。

二、Matlab程序设计实践2.1 数值计算Matlab以其强大的数值计算能力而闻名,我们可以使用Matlab进行各种数学运算和数值计算。

例如,我们可以使用Matlab求解线性方程组、计算矩阵的特征值和特征向量等。

2.2 图像处理Matlab提供了丰富的图像处理函数,可以对图像进行各种操作和处理。

例如,我们可以使用Matlab读取图像文件、调整图像的亮度和对比度、进行图像滤波等。

此外,Matlab还支持图像的显示和保存,方便我们进行结果的展示和分析。

2.3 数据可视化Matlab提供了强大的数据可视化功能,可以将数据以图表的形式直观地展示出来。

我们可以使用Matlab绘制各种类型的图表,如折线图、散点图、柱状图等。

此外,Matlab还支持对图表的样式、标签、标题等进行自定义,以满足不同的需求。

三、实验心得与体会通过这次Matlab程序设计实验,我深刻体会到了Matlab在科学计算和工程设计中的重要性。

Matlab不仅提供了丰富的数学函数库和工具箱,还具备直观的图形界面和友好的交互环境,使得我们能够快速、高效地进行各种计算和分析。

matlab程序设计教程第二版

matlab程序设计教程第二版

matlab程序设计教程第二版MATLAB程序设计教程第二版第一章:MATLAB概述MATLAB是一个高性能的数值计算和可视化软件,广泛应用于工程计算、数据分析、算法开发等领域。

它以其强大的数学函数库、易于使用的编程环境以及丰富的图形用户界面而闻名。

1.1 MATLAB的发展历程MATLAB最初由Cleve Moler于1970年代末开发,随着时间的发展,MATLAB不断更新,增加了更多的功能和工具箱。

1.2 MATLAB的特点- 交互式命令窗口:允许用户直接输入表达式并获取结果。

- 矩阵运算:MATLAB的核心是矩阵运算,它提供了丰富的矩阵操作函数。

- 图形用户界面:MATLAB提供了多种图形绘制工具,可以轻松地创建图表和动画。

- 编程语言:MATLAB具有自己的编程语言,支持函数、循环、条件语句等。

1.3 MATLAB的安装与配置详细说明如何下载、安装MATLAB,并进行基本的配置,以确保软件能够正常运行。

第二章:MATLAB基础2.1 MATLAB界面介绍介绍MATLAB的主界面,包括命令窗口、工作空间、命令历史、当前目录等。

2.2 基本命令与操作讲解MATLAB中的基本命令,如变量赋值、矩阵创建、基本运算等。

2.3 编程基础介绍MATLAB的编程结构,包括循环、条件语句、函数定义等。

第三章:矩阵与数组操作3.1 矩阵的创建与基本操作讲解如何创建矩阵、矩阵的基本运算,如加法、乘法、转置等。

3.2 特殊矩阵介绍MATLAB中的特殊矩阵,如单位矩阵、零矩阵、对角矩阵等。

3.3 矩阵的索引与切片详细说明如何对矩阵进行索引,以及如何进行矩阵的切片操作。

第四章:MATLAB编程进阶4.1 函数与脚本讲解如何编写自定义函数,以及如何使用脚本进行程序设计。

4.2 程序控制结构深入讲解MATLAB中的控制结构,包括循环、条件判断、错误处理等。

4.3 数据结构介绍MATLAB中的数据结构,如数组、结构体、单元数组等。

实验三MATLAB的程序设计

实验三MATLAB的程序设计
error('k>n,put in again!!');
end
ifk==0
Y=1;
elseifk==1&&n==1
Y=1;
elseifk<=n
Y=(n/k)*c(k-1,n-1);
end
程序测试:
>> c(0,0)
ans =
1
>> c(0,1)
ans =
1
>> c(3,4)
ans =
4
7,计算以下和式,并估计其求和公式以及验证:
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k;
end
测试:
>> s(3)
ans =
6
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^2;
end
测试:
>> s(3)
ans =
14
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^3;
end
测试:
>> s(2)
4
>> Joseph0(7,4)
2
11,求出 之间的所有素数;
M函数文件:
functionout = nprimes(N)
A= [1:N];
A(1)=0;
i=2;
whilei<= floor(sqrt(N));
forj= 2:fix(N/i)
A(i*j) = 0;
end;
i = A(find(A>i,1));

电子书-MATLAB程序设计与应用(第二版)

电子书-MATLAB程序设计与应用(第二版)

阅阅读读时时::请请选选择择““视视图图 || 文文档档结结构构图图””,,弹弹出出文文档档中中的的标标题题链链接接。

数学软件MATLAB程序设计与应用第1章MATLAB系统环境1.1 MATLAB概貌1.2 MATLAB环境的准备1.3 MATLAB操作界面1.4 MATLAB帮助系统自上世纪80年代以来,出现了科学计算语言,亦称数学软件。

MATLABMathematicaMathcadMapleLINDOLINGO1.1MATLAB概貌 p3MATLAB 是 MATrix LABoratory(矩阵实验室)的缩写。

1984年由 Math Works 公司推出,现已成为国际公认的优秀的工程应用开发环境,是影响最大,流行最广的科学计算语言。

1.1.1M ATLAB的发展2.例如MATLAB7.6的建造编号是R2008a。

说明MATLAB7.6与MATLAB2008a是等同的;3.对于建造编号,正规化以后,每年出两个版本。

一般来说。

a是测试版,b是正式版。

a是前半年出,b是后半年出。

教材采用MATLAB7.0(R14,2004)实验室采用MATLAB 7.8(R2009a,2009.3,汉化)1.1.2M ATLAB的主要功能 p4◆数值计算和符号计算功能◆绘图功能◆语言体系◆MATLAB工具箱(1) 数值计算和符号计算功能MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。

MATLAB先后和著名的符号计算语言Maple与MuPAD(从MATLAB 2008b开始使用MuPAD)相结合,使得MATLAB具有符号计算功能。

(2) 绘图功能可以绘制二维和三维图形。

MATLAB提供了两个层次的绘图操作:●对图形句柄进行的低层绘图操作;●建立在低层绘图操作之上的高层绘图操作。

(3) 语言体系MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。

相关文档
最新文档