matlab第五章思考与实验教案资料
MatLab中文版(word版)第五章

目录第五章自定义函数 (1)5.1 MA TLAB函数简介 (1)5.2 在MA TLAB中传递变量:按值传递机制 (6)例5.3 (7)5.3 选择性参数 (14)测试5.1 (16)5.4 用全局内存分享数据 (17)例5.4 (18)5.5 在函数调用两次之间本地数据的存储 (22)例5.5 运行平均数 (22)5.6 函数的函数(function functions), (26)例5.6 (27)5.7 子函数和私有函数 (29)5.8 总结 (29)5.9 练习 (30)5.1 (30)5.2 (30)5.3 (31)5.4 (31)5.5 (31)5.6 (31)5.7 (31)5.8 (31)5.9 (31)5.10 (31)5.11 (31)5.12 (32)5.13 (32)5.14 (32)5.15 (33)5.16 (33)5.17 (33)5.18 (34)5.19 (35)5.20 (35)5.21 (35)5.22 (35)5.23 (36)5.24 (36)5.25 (37)5.26 (37)第五章自定义函数在第三章中,我们强调了好的编程习惯的重要性。
我们进行开发的基本手段是自上而下的编程方法。
在自上而下的编程方法中,它开始于对所要解决问题的精确陈述和定义输入量和输出量。
下一步,我们在大面上进行算法的描述,然后把算法分解成一个一个的子问题。
再然后,程序员把这一个个子问题进行再一次的分解,直到分解成简单而且能够清晰理解的伪代码。
最后把伪代码转化为MATLAB代码。
尽管我们在前面的例子中,按照上面的步骤进行了编程。
但是产生的结果在某种程度上还是受限制的。
因为我们必须把每一个子问题产生的MATLAB代码嵌入到一个单独的大程序中。
在嵌入之前我们无法对每一次子问题的代码进行独立地验证和测试。
幸运的是,MATLAB有一个专门的机制,在建立最终的程序之前用于独立地开发与调试每一个子程序。
matlab第五讲教案

西南科技大学本科生课程备课教案计算机技术在安全工程中的应用——Matlab入门及应用授课教师:徐中慧班级:专业:安全技术及工程第四章课型:新授课教具:多媒体教学设备,matlab教学软件一、目标与要求掌握矩阵与数组的相关运算,及matlab中矩阵运算的相关函数,包括三角分解、正交变换、奇异值分解、特征值分解、矩阵的秩的运算等。
二、教学重点与难点本堂课教学的重点在于引导学生在编写matlab程序时能够熟练运用矩阵运算的相关函数实现相应的功能。
三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。
四、教学内容一、课后习题的解说。
(1)在计算器发明(约1974年)之前,人们需要用数学用表来计算正弦、余弦和对数值。
创建正弦值数学用表的步骤如下:①创建角度矢量、范围在0~3600之间,步长为180。
②计算正弦值,用角度和计算出来的正弦值创建表格。
③分别用两个disp语句给表格加上标题和表头。
④用fprintf显示数据,要求小数点后有两位有效数字。
解:angle=0:18:360; sine=sin(angle/180*pi);disp(' SINE TABLE ')disp(' Angle Sine ')fprintf(' %4.2f %4.2e\n',[angle;sine])(2)使用搜索引擎或浏览器搜索英镑、日元、欧元和人民币对美元的汇率,并把输出结果绘制成表。
要求用disp在表格中添加标题和表头,用fprintf输出格式化数据。
①创建日元和美元的汇率表,表中共有25行,从5日元开始,步长为5日元②创建人民币和美元的汇率表,表中共有30行,从5元开始,步长为5元③创建数据表格,表中有5列,第一列是美元,第二列是欧元,第三列是英镑,第四列是人民币,第五列是日元。
计算与1到10美元等价的其它货币值。
(将结果输出到.txt文件中,此步骤属选做)解:①jpy=5:5:25*5;usd1=jpy*0.01301;disp(' JPY &USD TABLE ')disp(' JPY USD ')fprintf(' %4.2f %4.2f\n',[jpy;usd1])②cny=5:5:30*5;usd2= cny *0.1567;disp(' CNY &USD TABLE ') disp(' RMB USD ') fprintf(' %4.2f %4.2f\n',[cny;usd2])③usd=1:1:10;eur=usd* 0.7323; gbp=usd* 0.6405; cny=usd* 6.3816; jpy=usd*76.358;disp(' AS Exch')disp(' USD EUR GBP RMB JPY')fprintf(' %4.2f %4.2f %4.2f %4.2f %4.2f \n',[ usd;eur;gbp;cny;jpy])二、矩阵的相关知识掌握矩阵与数组的相关运算,及matlab 中矩阵运算的相关函数,包括三角分解、正交变换、奇异值分解、特征值分解、矩阵的秩的运算等。
MATLAB第五章实验报告

MATLAB数值计算班级:11电信一班姓名:何得中学号:20111060108实验目的:1.了解MATLAB提供的标准多项式的常用函数;2.掌握用MATLAB创建多项式;3.学会用MATLAB对数据的分析;实验仪器:MATLAB软件,电脑实验数据:>> poly2sym([1 2 6 -5 3 9])ans =x^5+2*x^4+6*x^3-5*x^2+3*x+9 >> A=[7 8 9;4 5 6;1 2 3];>> B=poly(A)B =1.0000 -15.0000 18.00000.0000>> poly2sym(B)ans=x^3-15*x^2+18*x+422583449577050 7/633825300114114700748351602688 >> v=[0.5 0.6i -0.4 -0.6i]v =0.5000 0 + 0.6000i -0.4000 0 - 0.6000i>> p=poly(v)p =1.0000 -0.1000 0.1600 -0.0360 -0.0720>> pr=poly2sym(p)pr=x^4-1/10*x^3+4/25*x^2-9/250*x-9/12 5>> p=poly([1 2 3 4 5]);>> polyval(p,6)ans =120>> p=[1 3 1 2 1];>> polyvalm(p,[3 6;8 4])ans = 7186 66668888 8297>> polyvalm(p,7)ans =3494>> p=[1 4 2];>> x=0:0.8:4;>> y=polyval(p,x)y = 2.0000 5.8400 10.9600 17.3600 25.0400 34.0000>> a=[1 -1 4 10];>> r=roots(a);r = 1.1879 + 2.4202i1.1879 -2.4202i-1.3758>> pp=poly(r)pp =1.0000 -1.0000 4.0000 10.0000>> p1=[1,0,1,1];>> p2=[0,1,-1,2];>> p1+p2ans =1 1 0 3>> p1-p2ans =1 -1 2 -1>> c=conv([1 1 2 2],[1 2 5 4])c = 1 3 9 15 18 18 8>> p1=[1,0,1,1]; >> p2=[1,-1,2];>> [q,r]=deconv(p1,p2) q = 1 1 r = 0 0 0 -1 >> g=[1 5 4 6 20 48 27 72 39 ]; >> h=polyder(g) h = 8 35 24 30 80 144 54 72 >> q=polyint(h) q =1 5 4 6 20 48 27 72 0 >> b=[4,9]; >> a=[1,7,8]; >> [r,p,k]=residue(b,a) r = 3.2127 0.7873 p = -5.5616 -1.4384 k = [] >> [b,a]=residue(r,p,k) b = 4.0000 9.0000 a = 1 7 8 x=linspace(0,2*pi,50); >> y=sin(x); >> [p,s]=polyfit(x,y,3) p = 0.0912 -0.8596 1.8527 -0.1649 s = R: [4x4 double] df: 46 normr: 0.5055>> plot(x,y,'r:*',x,polyval(p,x),'-o')>> a=ceil(rand(4,4)*12) a = 12 11 10 12 3 10 6 9 8 6 8 3 6 1 10 5 >> b=ceil(rand(4,4)*10) b = 10 1 2 3 10 4 3 2 5 9 2 1 9 1 7 8 >> x=a\b x = -0.6400 -0.3800 -0.5800 -0.3600 0.0814 1.4697 -0.2959 -0.7021 0.9883 1.0679 0.9748 0.7876 0.5752 -1.7738 0.2055 0.5972 >> x=[1 1.5 2 2.5 3 3.5 4 4.5 5]'; >> y=[-1.4 2.7 3 5.9 8.4 12.2 16.6 18.8 26.2]'; >> e=[ones(size(x)) x.^2]; >> c=e\y c = -1.0685 1.0627>> x1=[1:0.1:5]'; >> y2=[ones(size(x1)),x1.^2]*c;>> plot(x,y,'ro',x1,y2,'k')>> a=[2 4 7 4;9 3 5 6]; >> b=[8 5]'; >> x=pinv(a)*bx = -0.21510.44590.79490.2707>> x=0:0.02*pi:2*pi;>> y=sin(x);>> ymax=max(y)ymax = 1>> ymin=min(y)ymin = -1>> ymean=mean(y)ymean =2.2995e-017>> ystd=std(y)ystd =0.7071>> score=[90 80 78 98 79;100 90 68 78 69;88 77 99 87 100];>> score_sum=sum(score)score_sum = 278 247 245 263 248>> score_avg=score_sum/3.score_avg =92.6667 82.3333 81.6667 87.6667 82.6667>> score_max=max(score)score_max=100 90 99 98 100>>[score_max,score_max_student]=max(s core)score_max =100 90 99 98 100score_max_student = 2 2 3 1 3>> score_min=min(score)score_min = 88 77 68 78 69>>[score_min,score_min_student]=min(sc ore)score_min = 88 77 68 78 69score_min_studen t=3 3 2 2 2>> score_student_sum=sum(score) score_student_sum=278 247 245 263 248>>score_student_savg=score_student_sum. /3score_student_savg =92.6667 82.3333 81.6667 87.6667 82.6667>> std(score)ans =6.4291 6.8069 15.8219 10.0167 15.8219>> var(score)ans =41.3333 46.3333 250.3333 100.3333 250.3333>> x=linspace(0,2*pi,10)x =0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851 6.2832>> y=sin(x)y=0 0.6428 0.9848 0.8660 0.3420 -0.3420 -0.8660 -0.9848 -0.6428 -0.0000>> dy=diff(y)dy=0.6428 0.3420 -0.1188 -0.5240 -0.6840 -0.5240 -0.1188 0.3420 0.6428>> d2y=diff(y,2)d2y= -0.3008 -0.4608 -0.4052 -0.1600 0.1600 0.4052 0.4608 0.3008>> d3y=diff(y,3)d3y= -0.1600 0.0556 0.2452 0.3201 0.2452 0.0556 -0.1600>> x=[1 2 3 4 5];>> y=[4 5 6 7 8];>> cx=cov(x)cx = 2.5000>> cy=cov(y)cy = 2.5000>> cxy=cov(x,y)cxy =2.5000 2.50002.5000 2.5000>> x=-1:0.2:1;>> z=exp(x.^2);>> fx=gradient(z)fx= -0.8218 -0.6425 -0.3615 -0.1963 -0.0868 0 0.0868 0.1963 0.3615 0.6425 0.8218function ex=ex(x)ex=exp(-x.^2)return>> format long>> quad('ex',0,1,1e-6)ex = 1.00000000000000 0.981730032806080.928898599395100.778800783071400.588254444230630.473852624646280.36787944117144ex = 0.99540087747802 0.95936125127772ex =0.86171221264734 0.68574192538547ex = 0.53040332078406 0.41944631668514ans = 0.74682418072642>> quadl('ex',0,1,1e-6)ex=1.000000000000000.999184727905840.991616959101330.968441445328330.926451851978820.864349866175970.778800783071400.682385279905670.592380095006350.509706301048790.438272262810980.389185953389380.36787944117144ex = 0.99161695910133 0.926451851978820.778800783071400.592380095006350.43827226281098ans = 0.74682413398845>> quad8('ex',0,1,1e-6) ex =1.00000000000000 0.999184727905840.991616959101330.968441445328330.92645185197882 0.86434986617597 0.778800783071400.682385279905670.592380095006350.509706301048790.438272262810980.389185953389380.36787944117144ex= 0.99161695910133 0.926451851978820.778800783071400.592380095006350.43827226281098ans = 0.74682413398845x0=0:pi/5:4*pi;y0=sin(x0).*exp(-x0/10);xi=0:pi/20:4*pi;yi=interp1(x0,y0,xi,'spline');plot(x0,y0,'or',xi,yi,'--b');Untitled2>> t=0:5:65;>> x=2:5:57;>>f=[3.1025,2.256,879.5,1835.9,2968.8,41 36.2,5237.9,6152.7,6725.3,6848.3,6403. 5,6824.7,7328.5,7857.6];>> f1=interp1(t,f,x)f1 = 1.0e+003 *0.002763900000000.353153600000001.262060000000002.289060000000003.435760000000004.576880000000005.603820000000006.381740000000006.774500000000006.670380000000006.571980000000007.02622000000000>> f2=interp1(t,f,x,'nearext') f2 = 1.0e+003 *0.003102500000000.002256000000000.879500000000001.835900000000002.968800000000004.136200000000005.237900000000006.152700000000006.725300000000006.848300000000006.403500000000006.82470000000000>> f3=interp1(t,f,x,'spline') f3 = 1.0e+003 *-0.170259056484550.306978324423981.256000890788642.269771808421483.439603875525464.589619889476705.637043766567756.422853844252316.859291256423016.653528330055636.481654623354457.04407557652658 >> f4=interp1(t,f,x,'cubic')f4 = 1.0e+003 *0.002438844000000.223194994900141.248358437730492.273647289639383.436483654858934.591276133775775.636234122067276.436239461848896.797756124209326.691730400000006.507716445924327.01855707680041[x,y,z]=peaks(6);mesh(x,y,z)[xi,yi]=meshgrid(-3:0.2:3,-3:0.2:3); z1=interp2(x,y,z,xi,yi,'nearest');z2=interp2(x,y,z,xi,yi,'linear');z3=interp2(x,y,z,xi,yi,'spline');z4=interp2(x,y,z,xi,yi,'cubic'); subplot(2,2,1)mesh(xi,yi,z1)title('nearest插值的网络图') subplot(2,2,2)mesh(xi,yi,z2)title('linear插值的网络图') subplot(2,2,3)mesh(xi,yi,z3)title('spline插值的网络图') subplot(2,2,4)mesh(xi,yi,z4)title('cubic插值的网络图')。
Matlab程序设计及应用实验讲义

Matlab程序设计及应用实验讲义自编电子科学与工程系2013。
02实验一 MATLAB 环境与命令窗口1、实验目的1)熟悉MATLAB 的操作环境及基本操作方法;2)掌握MATLAB 的搜索路径及其设置方法;3)熟悉MATLAB 帮助信息的查阅方法;2、实验主要仪器设备和材料计算机PC 一台 2010a 软件3、实验内容和原理1、先建立自己的工作目录,再将自己的工作目录设置到MATLAB 的搜索路径下,再试验用help 命令能否查询到自己的工作目录。
2、在MATLAB 环境下验证下面几个例子,并总结MATLAB 的主要优点。
1)绘制正弦曲线和余弦曲线2)求方程432379230x x x ++-=的全部根3)求积分()10ln 1x x dx +⎰ 4)求解线性方程组234832245917x y z x y z x y z -+=⎧⎪++=⎨⎪+-=⎩3、利用MATLAB 的帮助功能分别查询inv 、plot 、 max 、round 等函数的功能与用法4、完成下列操作:1)在MATLAB 命令窗口输入以下命令:x=0:pi/10:2*pi ;y=sin(x);2)在工作空间窗口选择变量y,再在工作空间窗口选择绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量的图形,并分析图形的含义。
5、访问MathsWorks公司的主页,查询有关MATLAB的产品信息.思考与练习1、如何启动和退出MATLAB的集成环境?2、简述MATLAB的主要功能。
3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?4、help命令和look for命令有何区别?5、在MATLAB环境下,建立一个变量fac,同时又在当前目录下建立了一个M文件fac。
m,如果需要运行fac.m文件,该如何处理?实验二 数值数组的创建与运算1、实验目的1)掌握MATLAB 数据对象的特点以及数据的运算规则。
2)掌握MATLAB 中建立矩阵的方法以及矩阵处理的方法。
《MATLAB教程及实训》第五章ppt5

例5-12 根据输入参数的个数将例5-11中参数个数使用 varargin和varargout函数,绘制不同线型的曲线,绘制的 曲线与图5-6相同。 function varargout=ex5_12(varargin) x=0:10; lin=length(varargin); %取输入参数个数 在命令窗口中输入 y=lin*ones(11,1); 调用命令: hold on >> y=ex5_12('y','o') if lin==0 varargout = plot(x,y) [2] elseif lin==1 y= plot(x,y,varargin{1}) 2 else >> ex5_12('y','o') plot(x,y,[varargin{1} varargin{2}]) varargout = end [2] varargout{1}=lin ans = 2
5.3.2 函数的输入输出参数
1. 参数的传递 函数的参数传递是将主调函数中的变量值 传给被调函数的输入参数 (1)函数参数传递的是数值 (2)被调函数的输入参数是存放在函数 的工作空间中,与MATLAB的工作空间是 独立的,当调用结束时函数的工作空间被清 除,输入参数也被清除。
2. 输入输出参数的个数
例5-2 使用switch结构判断学生成绩的等级,90分以上 为优,80~90为良,70~80为中,60~70为及格,60分以 下为不及格。
>> score=98; >> s1=fix(score/10); >> switch s1 case {9,10} s='优' case 8 s='良' case 7 s='中' case 6 s='及格' otherwise s='不及格' end
MATLAB 数学实验 数学实验教案

教师教案( 2008 —2009 学年第二学期 )课程名称:数学实验授课学时:32授课班级:2007级任课教师:钟尔杰教师职称:副教授教师所在学院:应用数学学院电子科技大学数学实验教案第 1 页共11 页数学实验教案第 2 页共11 页第一章MA TLAB使用入门本章数学实验方法教学时数为6学时,指导学生完成实验报告为2学时,共8学时。
分四次课完成本章教学任务。
一、教学内容及要求1.教学内容:(1)MA TLAB命令操作方法、向量创建与一元函数图形(2学时);(2)矩阵创建与二元函数图形(2学时);(3)数据显示格式与字符串数组(2学时)。
2.教学要求:(1)熟悉MA TLAB的命令操作方式,掌握向量创建方法和一元函数图形绘制方法;(2)掌握矩阵创建方法与二元函数图形绘制方法;(3)熟悉MA TLAB数据显示格式几种常用格式,掌握字符串数组操作方法。
二、教学重点与难点1.教学重点:MA TLAB向量创建,矩阵创建方法,一元函数和二元函数图形绘制方法,字符串数组的使用和操作。
2.教学难点:MA TLAB二元函数图形绘制,字符串操作。
三、教学设计1.通过简单表达式使用创建向量和矩阵;2.一元函数的图形是曲线,在二维空间中表示;通过衰减振荡曲线绘制例子,介绍曲线的线型、颜色控制方法;3.二元函数的图形是曲面,在三维空间中表示。
介绍典型问题——数字地球绘制使学生了解绘三维图形的三个重要环节;四、作业1.熟悉MA TLAB命令操作方式,表达式和常用函数使用,简单的数学模型求解;2.计算国际象棋发明人的报酬问题。
用MA TLAB计算说明明国际象棋发明人想要索取的大麦几乎可以覆盖整个地球;3.熟悉MA TLAB基本绘图命令,在多个图形窗口中绘制曲线图形和曲面图形;4.熟悉字符串数组的操作,设计一段程序计算农历年,将计算结果显示为字符串;5.完成数学实验报告一:抛射曲线问题的数学实验五、本章参考资料1.张志涌等编,精通MA TLAB6.5,北京航空航天大学出版社,2004数学实验教案第 3 页共11 页2.MA TLAB网站:六、教学后记1.本章介绍数学软件MA TLAB使用的基本方法,向量和矩阵创建,一元函数和二元函数绘图方法。
MATLAB学习课件第五章

4
5.1 概述
根据程序运行方式的不同,可以将MATLAB程序设计分为
两种方式:
一种是在命令窗口中逐条输入命令,另一种是将相关
的命令存储在一个M文件中。
前者称为命令行方式,又称为指令驱动模式。后者称
为M文件的程序运行方式。
命令行方式 M文件编程方式 命令逐条解释执行 自动一次执行完文件中所有命令 简单,直观 不直观 速度慢,执行过程不能保留, 速度快,可以重复执行文件 不能重复执行
25
2、while语句
while语句的一般格式为: while 表达式 循环体语句 end while语句为条件循环语句,循环次数不确定,只要循环条件
表达式的结果非零,语句体就重复执行,直到循环条件表达 式的结果为零,则跳出循环
26
5.3.4 程序流的控制
与控制程序执行过程相关的语句主要有break语句、
5.3 MATLAB程序结构
MATLAB程序的控制结构有3种:
顺序结构、选择结构和循环结构。
按照程序设计的观点, 任何算法功能都可以通过由程序模
块组成的三种基本程序结构的组合来实现。
11
5.3.1 顺序结构
顺序结构是指程序按程序语句或模块在执行流中的顺序逐
个执行,直到执行到程序的最后一个语句。
函数式M文件 接受输入参数,有返回值 文件中定义变量为局部变量, 文件执行完毕时,局部变量 清除,不保留在工作空间
要通过函数调用的方式调用 才能运行 用户需要自定义某种具体算 法时使用
5.2.3 M文件操作
对M文件常用的操作有:打开M文件、新建M文件、编辑
M文件、保存M文件和运行M文件等。
10
例5.8:判断读取矩阵是否正确。 解:程序如下 n=4; a=magic(3) try a_n=a(n,:), %取a的第n 行元素 catch a_n=a(end, : ), %如取a的第n 行出错,则改取a的最后一行 end lasterr %显示出错原因 执行结果如下; a= 8 1 6 3 5 7 4 9 2 a_n = 9 2 ans = Attempted to access a(4,:); index out of bounds because size(a)=[3,3].
matlab第五章思考与实验

第五章思考与实验一思考题1在matlab数据处理中,数据序列是如何表示的?答:可以让矩阵的每列或每行代表不同的被测变量,相应的行或列的元素代表被测向量的观测值,这样就很容易通过对矩阵元素的访问进行数据的处理和分析。
2函数sum与cumsum有何区别?答:sum(A):如果A是一个向量,则返回向量各元素的和。
如果A是一个矩阵,则返回一个行向量,其第i个元素是A的第i列的元素和。
sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i 个元素是A的第i行的个元素之和。
cumsum(A):如果A是一个向量,则返回向量的累加和。
如果A是一个矩阵,则返回一个矩阵,其第i列是A的第i列的累加和向量。
cumsum(A,dim):当dim为1时,该函数等同于cumsum(A);当dim为2时,返回一个矩阵,其第行是的第i行的累加和向量。
3利用randn函数生成符合正态分布的10*5随机矩阵A,写出完成下列操作的命令。
(1)A各列元素的均值和标准方差。
答:>> a=randn(10,5)a =1.3005 -1.3165 -0.5492 0.0601 -1.58090.2691 -0.6103 1.0014 0.0510 -1.0978-0.1551 0.4468 0.7482 0.7101 0.21030.0342 -2.4119 0.7242 -0.0953 -0.44560.9913 1.6895 0.7019 -1.2037 -0.2694-1.3618 -0.9683 0.8053 0.2633 -1.17210.9792 1.4889 -0.1651 -0.1608 0.1277-0.8863 -1.0166 -1.0022 -0.1653 1.0411-0.3562 -2.1758 0.5817 1.1027 1.2827-0.1428 -0.5737 2.1113 0.3762 0.3490>> mean(a)ans =0.0672 -0.5448 0.4957 0.0938 -0.1555>> std(a)ans =0.8480 1.3848 0.8756 0.6110 0.9440(2)A的最大元素和最小元素。
《Matlab教案》课件

《MATLAB教案》PPT课件第一章:MATLAB概述1.1 MATLAB简介介绍MATLAB的历史和发展解释MATLAB的含义(Matrix Laboratory)强调MATLAB在工程和科学计算中的应用1.2 MATLAB界面介绍MATLAB的工作空间解释MATLAB的菜单栏和工具栏演示如何创建、打开和关闭MATLAB文件1.3 MATLAB的基本操作介绍MATLAB的数据类型演示如何进行矩阵运算解释MATLAB中的向量和矩阵运算规则第二章:MATLAB编程基础2.1 MATLAB脚本编程解释MATLAB脚本文件的结构演示如何编写和运行MATLAB脚本强调注释和代码的可读性2.2 MATLAB函数编程介绍MATLAB函数的定义和结构演示如何创建和使用MATLAB函数强调函数的重用性和模块化编程2.3 MATLAB编程技巧介绍变量和函数的命名规则演示如何进行错误处理和调试强调代码的优化和性能提升第三章:MATLAB数值计算3.1 MATLAB数值解算介绍MATLAB中的数值解算工具演示如何解线性方程组和不等式解释MATLAB中的符号解算和数值解算的区别3.2 MATLAB数值分析介绍MATLAB中的数值分析工具演示如何进行插值、拟合和数值积分解释MATLAB中的误差估计和数值稳定性3.3 MATLAB优化工具箱介绍MATLAB优化工具箱的功能演示如何使用优化工具箱进行无约束和约束优化问题解释MATLAB中的优化算法和参数设置第四章:MATLAB绘图和可视化4.1 MATLAB绘图基础介绍MATLAB中的绘图命令和函数演示如何绘制二维和三维图形解释MATLAB中的图形属性设置和自定义4.2 MATLAB数据可视化介绍MATLAB中的数据可视化工具演示如何绘制统计图表和散点图解释MATLAB中的数据过滤和转换4.3 MATLAB动画和交互式图形介绍MATLAB中的动画和交互式图形功能演示如何创建动画和交互式图形解释MATLAB中的图形交互和数据探索第五章:MATLAB应用案例5.1 MATLAB在信号处理中的应用介绍MATLAB在信号处理中的基本概念演示如何使用MATLAB进行信号处理操作解释MATLAB在信号处理中的优势和应用场景5.2 MATLAB在控制系统中的应用介绍MATLAB在控制系统中的基本概念演示如何使用MATLAB进行控制系统分析和设计解释MATLAB在控制系统中的优势和应用场景5.3 MATLAB在图像处理中的应用介绍MATLAB在图像处理中的基本概念演示如何使用MATLAB进行图像处理操作解释MATLAB在图像处理中的优势和应用场景《MATLAB教案》PPT课件第六章:MATLAB Simulink基础6.1 Simulink简介介绍Simulink作为MATLAB的一个集成组件解释Simulink的作用:模型化、仿真和分析动态系统强调Simulink在系统级设计和多领域仿真中的优势6.2 Simulink界面介绍Simulink库浏览器和模型窗口演示如何创建、编辑和运行Simulink模型解释Simulink中的块和连接的概念6.3 Simulink仿真介绍Simulink仿真的基本过程演示如何设置仿真参数和启动仿真解释Simulink仿真结果的查看和分析第七章:MATLAB Simulink高级应用7.1 Simulink设计模式介绍Simulink的设计模式,包括连续、离散、混合和事件驱动模式演示如何根据系统特性选择合适的设计模式解释不同设计模式对系统性能的影响7.2 Simulink子系统介绍Simulink子系统的概念和用途演示如何创建和管理Simulink子系统解释子系统在模块化和层次化设计中的作用7.3 Simulink Real-Time Workshop介绍Simulink Real-Time Workshop的功能演示如何使用Real-Time Workshop进行代码解释代码对于硬件在环仿真和嵌入式系统开发的重要性第八章:MATLAB Simulink库和工具箱8.1 Simulink库介绍Simulink库的结构和分类演示如何访问和使用Simulink库中的块解释Simulink库对于模型构建和功能复用的意义8.2 Simulink工具箱介绍Simulink工具箱的概念和功能演示如何安装和使用Simulink工具箱解释Simulink工具箱在特定领域仿真和分析中的作用8.3 自定义Simulink库介绍如何创建和维护自定义Simulink库演示如何将自定义块添加到库中解释自定义库对于个人和组织级模型共享的重要性第九章:MATLAB Simulink案例分析9.1 Simulink在控制系统中的应用介绍控制系统模型在Simulink中的构建演示如何使用Simulink进行控制系统设计和分析解释Simulink在控制系统教育和研究中的应用9.2 Simulink在信号处理中的应用介绍信号处理模型在Simulink中的构建演示如何使用Simulink进行信号处理仿真解释Simulink在信号处理领域中的优势和实际应用9.3 Simulink在图像处理中的应用介绍图像处理模型在Simulink中的构建演示如何使用Simulink进行图像处理仿真解释Simulink在图像处理领域中的优势和实际应用第十章:MATLAB Simulink项目实践10.1 Simulink项目实践流程介绍从需求分析到模型验证的Simulink项目实践流程演示如何使用Simulink进行项目规划和实施解释Simulink在项目管理和协作中的作用10.2 Simulink与MATLAB的交互介绍Simulink与MATLAB之间的数据交互方式演示如何在Simulink中使用MATLAB函数和脚本解释混合仿真模式对于复杂系统仿真的优势10.3 Simulink项目案例分析具体的Simulink项目案例演示如何解决实际工程问题解释Simulink在工程教育和项目开发中的应用价值《MATLAB教案》PPT课件第十一章:MATLAB App Designer入门11.1 App Designer简介介绍App Designer作为MATLAB中的应用程序开发环境解释App Designer的作用:快速创建跨平台的MATLAB应用程序强调App Designer在简化MATLAB代码部署和用户交互中的优势11.2 App Designer界面介绍App Designer的用户界面和工作流程演示如何创建新应用和编辑应用界面解释App Designer中的组件和布局的概念11.3 App Designer编程介绍App Designer中的MATLAB编程模式演示如何使用App Designer中的MATLAB代码块解释App Designer中事件处理和应用程序生命周期管理的重要性第十二章:MATLAB App Designer高级功能12.1 App Designer用户界面设计介绍App Designer中用户界面的定制方法演示如何使用样式、颜色和主题来美化应用界面解释用户界面设计对于提升用户体验的重要性12.2 App Designer数据模型介绍App Designer中的数据模型和模型视图概念演示如何创建、使用和绑定数据模型和视图解释数据模型在应用程序中的作用和重要性12.3 App Designer部署和分发介绍App Designer应用程序的部署和分发流程演示如何打包和发布应用程序解释如何为不同平台安装和运行App Designer应用程序第十三章:MATLAB App Designer案例研究13.1 图形用户界面(GUI)应用程序设计介绍使用App Designer设计的GUI应用程序案例演示如何创建交互式GUI应用程序来简化MATLAB脚本解释GUI应用程序在数据输入和结果显示中的作用13.2 数据分析和可视化应用程序设计介绍使用App Designer进行数据分析和可视化的案例演示如何创建应用程序来处理和显示大型数据集解释App Designer在数据分析和决策支持中的优势13.3 机器学习和深度学习应用程序设计介绍使用App Designer实现机器学习和深度学习模型的案例演示如何将MATLAB中的机器学习和深度学习算法集成到应用程序中解释App Designer在机器学习和深度学习应用部署中的作用第十四章:MATLAB App Designer实战项目14.1 App Designer项目规划和管理介绍App Designer项目的规划和管理方法演示如何组织和维护大型应用程序项目解释项目管理和版本控制对于团队协作的重要性14.2 App Designer与MATLAB的集成介绍App Designer与MATLAB之间的数据和功能集成演示如何在App Designer中调用MATLAB函数和脚本解释集成MATLAB强大计算和分析能力的重要性14.3 App Designer项目案例实现分析具体的App Designer项目案例实现过程演示如何解决实际工程项目中的问题解释App Designer在工程项目实践中的应用价值第十五章:MATLAB App Designer的未来趋势15.1 App Designer的新功能和技术介绍App Designer的最新功能和技术发展演示如何利用新功能和技术提升应用程序的性能和用户体验强调持续学习和适应新技术的重要性15.2 App Designer在跨平台开发中的应用介绍App Designer在跨平台应用程序开发中的优势演示如何创建适用于不同操作系统的应用程序解释跨平台开发对于扩大应用程序市场的重要性15.3 App Designer的未来趋势和展望讨论App Designer在未来的发展趋势和潜在应用领域激发学生对于应用程序开发和创新的兴趣强调持续探索和创造新应用的重要性重点和难点解析本文档为您提供了一份详尽的《MATLAB教案》PPT课件,内容涵盖了MATLAB 的基本概念、编程基础、数值计算、绘图和可视化、应用案例、Simulink的基础知识、高级应用、库和工具箱的使用、案例分析以及项目实践、App Designer 的基础知识、高级功能、案例研究、实战项目和未来趋势等方面的内容。
数学实验MATLAB第五章

学习方法与建议
学习方法
通过理论学习和实践操作相结合的方式,深入理解MATLAB高级编程技术的原 理和应用。
建议
在学习本章之前,读者应该已经具备一定的MATLAB基础知识和编程经验。同 时,建议读者在学习过程中多进行实践操作,通过编写代码来加深对知识点的 理解和掌握。
02 MATLAB基础知识回顾
数学实验matlab第五章
目 录
• 第五章概述 • MATLAB基础知识回顾 • 数组与矩阵操作 • 数值计算与数据分析 • 程序设计与优化 • 综合应用与案例分析
01 第五章概述
章节内容与目标
内容
介绍MATLAB中的高级编程技术 ,包括脚本和函数编程、数据结 构和算法、面向对象编程等。
目标
通过学习本章,读者应该能够熟 练掌握MATLAB的高级编程技术 ,并能够灵活运用这些技术解决 复杂的数学问题。
运算符与函数
运算符
详细讲解MATLAB中的运算符, 包括算术运算符、关系运算符、 逻辑运算符等。同时介绍运算符
的优先级和结合性。
函数
阐述函数的概念,以及如何在 MATLAB中定义和使用函数。同时 介绍函数的输入和输出参数,以及 函数的返回值。
常用函数
介绍MATLAB中常用的函数,包括 数学函数、字符串处理函数、文件 操作函数等。同时给出函数的语法 和使用示例。
矩阵的乘法
按照矩阵乘法的规则进行运算 ,结果矩阵的维数可能发生变
化。
矩阵的转置
将矩阵的行和列互换,得到转 置矩阵。
矩阵的逆
对于方阵,若其逆矩阵存在, 则可以通过特定的运算求得逆
矩阵。
数组与矩阵的应用举例
线性方程组求解
数据分析与处理
MATLAB第五章(刘卫国编)

4/72
说明: (1)当x,y是同维矩阵时,则以x,y对应列元素为 横、纵坐标分别绘制曲线,曲线条数等于矩阵 的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横 坐标。 (3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
16/72
5.1.3 绘制二维图形的其他函数 1. 其他形式的线性直角坐标图 在线性直角坐标系中,其他形式的图形有 条形图、阶梯图、杆图和填充图等,所 采用的函数分别是: bar(x,y,选项) stairs(x,y,选项) stem(x,y,选项) fill(x1,y1,选项1,x2,y2,选项2,…)
18/72
2.极坐标图 polar函数用来绘制极坐标图,其调用格式为: polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标矢径,选 项的内容与plot函数相似。 例5.9 绘制ρ=sin(2θ)cos(2θ)的极坐标图。 程序如下: theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho,'k');
8/72
例5.4 用不同标度在同一坐标内绘制曲线y1=e0.5xsin(2πx)及曲线y2=1.5e-0.1xsin(x)。 程序如下: x1=0:pi/100:2*pi; x2=0:pi/100:3*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.1*x2).*sin(x2); plotyy(x1,y1,x2,y2);
10/72
2. 坐标控制 函数的调用格式为: axis([xmin xmax ymin ymax zmin zmax]) axis函数功能丰富,常用的用法还有: axis equal 纵、横坐标轴采用等长刻度 axis square 产生正方形坐标系(缺省为矩形) axis auto 使用缺省设置 axis off 取消坐标轴 axis on 显示坐标轴 grid on/off命令控制是画还是不画网格线,不带 参数的grid命令在两种状态之间进行切换。 box on/off命令控制是加还是不加边框线,不带 参数的box命令在两种状态之间进行切换。 11/72
2013MATLAB原理及应用实验报告第五章

《MATLAB原理及应用》实验报告一.实验目的1、掌握二维图形的绘制方法2、掌握二维图形的标注二.实验内容1.绘制一条二维曲线①MATLAB中最常用的就是plot指令,其具体调用格式为plot(x) %绘制以x为纵坐标的二维曲线plot(x,y) %绘制以x为横坐标y为纵坐标的二维曲线说明:x和y可以是向量或矩阵。
【实验5-1】用plot(x)命令画直线。
>> x1=[1 2 3]x1 =1 2 3>> plot(x1)2.二维图形的标注【实验5-2】在0≤x≤2π 区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx) >> x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2),title('x from 0 to 2{\pi}'); %加图形标题。
xlabel('Variable X'); ylabel('Variable Y'); % 加X轴,Y轴说明。
text(0.8,1.5,'曲线y1=2e^(-0.5*x)'); %在指定位置添加图形说明。
text(2.5,1.1,'曲线y2=cos(4{\pi}x)');legend('y1','y2') %加图例。
三.练习题1、编写程序绘制如下图形(时间间隔自己设定)246810-1-0.8-0.6-0.4-0.200.20.40.60.81sin(t)cos(t)ÕýÏÒºÍÓàÏÒÇúÏßʱ¼ätÕýÏÒ¡¢ÓàÏÒÕýÏÒÓàÏÒ图中曲线标注:sin(t)标注在(1.7*pi,-0.3),cos(t)标注在(1.6*pi,0.8) 实验程序:t=0:0.2:4*pi; y1=sin(t); y2=cos(t);plot(t,y1,'r',t,y2,'--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.81sintcost3、使用subplot 指令在不同区域画出下列曲线y=sinAx;y=cosAx;y=Ae x ,y=x^2。
MATLAB实验教案5篇

MATLAB实验教案5篇第一篇:MATLAB实验教案实验一离散系统的时域分析和复频域分析1.实验目的(1)掌握在时域求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)通过实验判断系统稳定性(4)掌握利用Z变换对系统进行复频域分析。
(5)掌握系统零、极点的绘制方法。
(6)通过复频域分析系统稳定性、频率特性。
(7)熟悉Z变换的应用2.实验设备λ计算机λ MATLAB R2012a仿真软件3.实验原理(1)离散系统的时域分析在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,利用filter 函数或conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
系统的时域特性是指系统的线性移不变性质、因果性和稳定性。
重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。
系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应,或者系统的单位脉冲响应满足绝对可和的条件。
系统的稳定性由其差分方程的系数决定。
实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号、输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。
可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的。
系统的稳态输出是指当n→∞时系统的输出。
如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随着n的加大,幅度趋于稳定,达到稳态输出。
注意在以下实验中均假设系统的初始状态为零。
(2)离散系统的复频域分析离散系统的时域方程为∑dk=0Nky(n-k)=x(n-k)∑pkK=0∞M其变换域分析如下y(n)=x(n)*h(n)=频域系统频率响应为m=-∞∑x(m)h(n-m)⇔Y(e)=X(e)H(e)jωjωjωH(e)=Z域 jωY(e)X(e)jωjωy(n)=x(n)*h(n)=系统的转移函数为m=-∞∑x(m)h(n-m)⇔Y(z)=Y(z)X(Z)-i∞X(z)H(z)H(z)=0分解因式H(z)i=N∑pkz∑dkzi=0M=K-i X(1-ξX(1-i=1i=1NMiz-1)),其中,ξ和iλzi-1λi称为零、极点。
matlab入门教程(第五章)

指 令 \downarrow \leftarrow \leftrightarrow \rightarrow \uparrow \circ \bullet
符
\exists \forall \in \infty \perp \prime \cdot
字符
\Nu \xi \Xi \pi \Pi \rho
6
\Delta \epsilon
\zeta 指 令 'sin\beta'
效果
\lambda \Lambd a \mu 指 令 '\zeta\omega'
\sigma \Sigma \tau
5
Normal and Grid on 4 2 0 -2 -4 -2 2
Equal 4 2 0 -2 0 -2 -4 -2
Square
0 Image and Box off 2 0 -2 -1 0 1
2
-2
0
2
0 Tight
2
Image and Fill 1 0.5 0 -0.5 -1 -1 0 1 -2 -1 0 2
一 坐标轴的控制
【例 5.2-3】观察各种轴控制指令的影响。演示采用长轴为 3.25,短轴为 1.15 的椭圆。注意: 采用多子图(图 5.2-3)表现时,图形形状不仅受“控制指令”影响,而且受整个图面“宽 高比”及“子图数目”的影响。本书这样处理,是出于篇幅考虑。读者欲想准确体会控制指 令的影响,请在全图状态下进行观察。
《MATLAB实践教程》课件第5章

第5单元 MATLAB程序设计
(2) 将判断一个矩阵各个元素是否为素数的任务编写成 一个MATLAB函数,并存盘为primematrix.m。程序如下:
function y=primematrix(x) x1=rem(x,2)==0&x>2; x2=rem(x,3)==0&x>3; x3=rem(x,5)==0&x>5; x4=rem(x,7)==0&x>7; y=find((x1+x2+x3+x4)==0);
function y=stdfun(x,a,b,c) y=a*x.^2+b*x+c;
第5单元 MATLAB程序设计
编写调用函数stdfun的主程序。程序如下:
clc; close all; clear all; %初始化 x=[1 2 3]; a=2; b=-1; c=5; y=stdfun(x,a,b,c)
5.3.2 编写匿名函数
匿名函数指在主程序中以表达式方式定义的函数,下面
示例展示它的格式和调用方法,程序如下:
quade=@(x,a,b,c)a*x.^2+b*x+c; %定义匿名函数并赋给变量quade
x=[1 2 3]; a=2; b=-1; c=5;
%输入参数赋值
y=quade(x, a, b, c) %以调用变量quade调用匿名函数,注意输入参数的位
第5单元 MATLAB程序设计
图5-3 M-file函数的结构
第5单元 MATLAB程序设计
在Editor窗口编写M-file函数,存盘名由“基本名+扩展 名”构成,存盘时仅仅键入基本名,扩展名默认为“.m”, 函数调用时使用存盘的基本名和指定的函数格式。注意, MATLAB7.1版本以后存盘函数基本名与函数定义行指定的 函数名可以不一致,而早先的版本要求存盘基本名与函数定 义行的指定函数名必须一致。下面的函数示例计算 (y,outp)=f(x,inp),其中输入参数x为自变量,输入参数inp为 指定拟合的多项式阶数,输出参数y为因变量,且
《MATLAB及应用》实验指导书

《MATLAB及应用》实验指导书班级: T943-3姓名: 尤敏学号:20090430326总评成绩:汽车工程系电测与汽车数字应用中心目录实验04051001 MATLAB语言基础 (1)实验04051002 MATLAB科学计算及绘图 (11)实验04051003 MATLAB综合实例编程 (23)实验04051001 MATLAB 语言基础1实验目的1) 熟悉MATLAB 的运行环境 2) 掌握MATLAB 的矩阵和数组的运算 3) 掌握MATLAB 符号表达式的创建 4) 熟悉符号方程的求解2实验内容1. 课本第一章第2题.假设x=2和y=5。
使用MATLAB 计算一下公式的值.a 。
y x yx-3b.y x 23 c 。
xy 23d 。
155-x x 解:x=3;y=5;a=y *x^3/(x-y) b=3*x/2/y c=3/2*x *y d=x^5/(x^5—1) a =-67.5000 b =0.9000 c =22。
5000 d =1.00412.课本第一章第18题。
解:a=[13,182,-184,2503];roots(a)ans =—15。
68500.8425 + 3。
4008i0.8425 — 3。
4008i3.课本第二章第6题.解:A=[3 7 -4 12;—5 9 10 2;6 13 8 11;15 5 4 1]; B=A(:,2:4)C=A(2:4,:)D=A(1:2,2:4)B =7 —4 129 10 213 8 115 4 1C =-5 9 10 26 13 8 1115 5 4 1D =7 -4 129 10 24.课本第二章第12题解:A=[—7,16;4,9];B=[6,—5;12,-2];C=[-3,-9;6,8];disp('A+B+C');A+B+Cdisp(’A-B+C’);A-B+Cdisp(’验证结合律:(A+B)+C=A+(B+C)');disp(’(A+B)+C');(A+B)+Cdisp('A+(B+C)');A+(B+C)disp('验证交换律:A+B+C=B+C+A=A+C+B’);disp(’A+B+C');A+B+Cdisp(’B+C+A');B+C+Adisp('A+C+B’);A+C+BA+B+Cans =-4 222 15A—B+Cans =-16 12-2 19验证结合律:(A+B)+C=A+(B+C) (A+B)+Cans =—4 222 15A+(B+C)ans =-4 222 15验证交换律:A+B+C=B+C+A=A+C+B A+B+Cans =—4 222 15B+C+Aans =-4 222 15A+C+Bans =—4 222 155.课本第二章第32题。
matlab2012a第五章

matlab2012a第五章x,acost,a,4,b,21, 已知椭圆的长、短轴,用“小红点线”画如图p5-1所示的椭圆。
,y,bsint,,提示:参量,点的大小,axis equal, t321y-1-2-3-4-3-2-101234x 图 p5-1 cleart=2*pi*(0:149)/149;a=4;b=2;x=a*cos(t);y=b*sin(t); plot(x,y,'r.','MarkerSize',15) axis equal 321-1-2-3-3-2-1012342, 根据表达式,,1,cos,绘制如图p5-2的心脏线。
,提示:polar,注意title 中特殊字符,线宽,axis square。
可以用plot试试。
,,=1-cos,90 212060 1.51150300.51800210330240300270图 p5-2cleart = 0:.01:2*pi;P=1-cos(t);f=polar(t,P,'r');axis square;set(f,'LineWidth',4)title('P=1-cos\theta'),P=1-cos90 2120601.51150300.518002103302403002703, A,B,C三个城市上半年每个月的国民生产总值表p5.1。
试画出如图p5-3所示的三城市上半年每月生产总值的累计直方图。
,提示:bar(x,Y,'style'); colormap(cool); legend。
,表p5.1 各城市生产总值数据,单位:亿元,城市 1月 2月 3月 4月 5月 6月A 170 120 180 200 190 220B 120 100 110 180 170 180 600C 70 50 80 100 95 120AB500C4003002001000 123456图 p5-3 clearX=(1:6)';Y=[170,120,180,200,190,220;120,100,110,180,170,180;70,50,80,100,95,1 20]';bar(X,Y,'stacked');colormap(cool);legend('A','B','C',2)600AB500C4003002001000 1234564, 二阶线性系统的归一化,即令,冲激响应可表示为:,,1n1,,, tetsin(, ),0,,,1,,,t2ytte(),,,1,其中,,|1,,|,为阻尼系数,,1,(,,,)t,(,,,)t,,,1,,ee,,2,,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章思考与实验一思考题1在matlab数据处理中,数据序列是如何表示的?答:可以让矩阵的每列或每行代表不同的被测变量,相应的行或列的元素代表被测向量的观测值,这样就很容易通过对矩阵元素的访问进行数据的处理和分析。
2函数sum与cumsum有何区别?答:sum(A):如果A是一个向量,则返回向量各元素的和。
如果A是一个矩阵,则返回一个行向量,其第i个元素是A的第i列的元素和。
sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i 个元素是A的第i行的个元素之和。
cumsum(A):如果A是一个向量,则返回向量的累加和。
如果A是一个矩阵,则返回一个矩阵,其第i列是A的第i列的累加和向量。
cumsum(A,dim):当dim为1时,该函数等同于cumsum(A);当dim为2时,返回一个矩阵,其第行是的第i行的累加和向量。
3利用randn函数生成符合正态分布的10*5随机矩阵A,写出完成下列操作的命令。
(1)A各列元素的均值和标准方差。
答:>> a=randn(10,5)a =1.3005 -1.3165 -0.5492 0.0601 -1.58090.2691 -0.6103 1.0014 0.0510 -1.0978-0.1551 0.4468 0.7482 0.7101 0.21030.0342 -2.4119 0.7242 -0.0953 -0.44560.9913 1.6895 0.7019 -1.2037 -0.2694-1.3618 -0.9683 0.8053 0.2633 -1.17210.9792 1.4889 -0.1651 -0.1608 0.1277-0.8863 -1.0166 -1.0022 -0.1653 1.0411-0.3562 -2.1758 0.5817 1.1027 1.2827-0.1428 -0.5737 2.1113 0.3762 0.3490>> mean(a)ans =0.0672 -0.5448 0.4957 0.0938 -0.1555>> std(a)ans =0.8480 1.3848 0.8756 0.6110 0.9440 (2)A的最大元素和最小元素。
答:>> max(max(a))ans =2.1113>> min(min(a))ans =-2.4119(3)求A每行元素的和以及全部元素之和。
答:>> sum(a,2)ans =-2.0860-0.38671.9604-2.19441.9096-2.43352.2698-2.02930.43522.1200>> sum(sum(a))ans =-0.4349(4)分别对A的每列元素按升序,每行元素按降序排序。
答:>> sort(a,1)ans =-1.3618 -2.4119 -1.0022 -1.2037 -1.5809-0.8863 -2.1758 -0.5492 -0.1653 -1.1721-0.3562 -1.3165 -0.1651 -0.1608 -1.0978-0.1551 -1.0166 0.5817 -0.0953 -0.4456-0.1428 -0.9683 0.7019 0.0510 -0.26940.0342 -0.6103 0.7242 0.0601 0.12770.2691 -0.5737 0.7482 0.2633 0.21030.9792 0.4468 0.8053 0.3762 0.34900.9913 1.4889 1.0014 0.7101 1.04111.3005 1.68952.1113 1.1027 1.2827>> sort(a,2,'descend')ans =1.3005 0.0601 -0.5492 -1.3165 -1.58091.0014 0.2691 0.0510 -0.6103 -1.09780.7482 0.7101 0.4468 0.2103 -0.15510.7242 0.0342 -0.0953 -0.4456 -2.41191.6895 0.9913 0.7019 -0.2694 -1.20370.8053 0.2633 -0.9683 -1.1721 -1.36181.4889 0.9792 0.1277 -0.1608 -0.16511.0411 -0.1653 -0.8863 -1.0022 -1.01661.2827 1.1027 0.5817 -0.3562 -2.17582.1113 0.3762 0.3490 -0.1428 -0.57374什么是数据插值?什么是曲线拟合?他们有何共同之处与不同之处?答:在工程测量和科学实验中,所得到的数据通常都是离散的。
如果要得到这些离散点意外的其他点的数值,需要根据这些已知数据进行估算。
曲线拟合的目的是用一个较简单的函数去逼近一个复杂的或未知的函数,所依据的条件都是在一个区间或一个区域上有限个采样点的函数值。
5在matlab中如何表示一个多项式?答:多项式的运算转换为系数向量的运算。
二实验题1利用matlab提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质。
(1)均值和标准方差。
答:a=rand(1,30000);>> mean(a);>> std(a);>> mean(a)ans =0.4988>> std(a)ans =0.2890(2)最大元素和最小元素。
答:>> max(a)ans =1.0000>> min(a)ans =4.8345e-005(3)大于0.5的随机数个数占总数的百分比。
答:>> size(find(a>0.5))/size(a)ans =0.50062在某处测得海洋不同深度处水温数据如表中所示。
用插值法求出水深500m,900m和1500m 处的水温。
答:>> h=[466 715 950 1422 1635];t=[7.04 4.28 3.40 2.52 2.13];hx=[500 900 1500];tx=interp1(h,t,hx,'spline')tx =6.4903 3.5226 2.38453用5次多项式p(x)在区间[1,101]区间内逼近函数lgx,并绘制出lgx和p(x)在[1,101]区间的函数曲线。
答:>> x=linspace(1,10,50);y=log(x);f=polyfit(x,y,5);>> yy=polyval(f,x);>> plot(x,y,'r-',x,yy,'g.')4已知x(t)=e-t(t>=0),取N=64,对t 从0~5s 采样,用fft 作快速傅立叶变换,并绘制相应的振幅——频率图。
答:>> N=64;T=5;t=linspace(0,T,N);x=3*exp(-t);dt=t(2)-t(1);f=1/dt;X=fft(x);F=X(1:N/2+1);f=f*(0:N/2)/N;plot(f,abs(F),'-*')>> xlabel('Frequency');>> ylabel('|F(k)|')Frequency |F (k )|5有3个多项式P1(x )=x2+2x2+7,P2(x)=x-2,P3(x)=x3+5x+1,试进行下列操作。
(1) 求P (x )=P1(x)+P2(x)+P3(x)。
(2) 求P(x)的根。
答:p1=[1 2 0 0 7];>> p2=[1 -2];p3=[1 0 0 5 1];>> p12=conv(p1,p2);>> p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3];>> roots(p)ans =-2.1085 + 0.7978i-2.1085 - 0.7978i0.9717 + 1.0317i0.9717 - 1.0317i1.2735(3)设A=,当以矩阵A的每一元素为自变量时,求P(x)的值;当以矩阵A为自变量时,求P(x)的值。
答:>> a=[-1 4,3;2,1,5;0,5,6];>> px=polyval(p,a)px =-21 1059 23927 -3 3297-13 3297 8267>> pxm=polyvalm(p,a)pxm =3631 19933 308864934 25340 398466710 35820 557926求非线性方程的数值解。
(1)求3sinx-sinx+1=0在x0=0附近的根。
答:>> z=fzero('3*x-sin(x)+1',0)z =-0.4903(2)x2+y2=9,x+y=1 初值x0=3,y0=0。