![Matlab计算与仿真_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/80dfc3ea-f33e-475b-a290-cad67deb9750/80dfc3ea-f33e-475b-a290-cad67deb97501.gif)
![Matlab计算与仿真_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/80dfc3ea-f33e-475b-a290-cad67deb9750/80dfc3ea-f33e-475b-a290-cad67deb97502.gif)
![Matlab计算与仿真_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/80dfc3ea-f33e-475b-a290-cad67deb9750/80dfc3ea-f33e-475b-a290-cad67deb97503.gif)
![Matlab计算与仿真_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/80dfc3ea-f33e-475b-a290-cad67deb9750/80dfc3ea-f33e-475b-a290-cad67deb97504.gif)
![Matlab计算与仿真_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/80dfc3ea-f33e-475b-a290-cad67deb9750/80dfc3ea-f33e-475b-a290-cad67deb97505.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MatlabMatlab计算与仿真计算与仿真n第八讲回顾第八讲回顾nMatlab编程编程-III - 变量查询变量查询 - 匿名函数匿名函数 - 参数交互输入参数交互输入 - Matlab程序调试程序调试 - 语言结构与调试函数语言结构与调试函数第九讲提纲第九讲提纲MatlabMatlab计算与仿真计算与仿真第八讲回顾第八讲回顾n函数的定义及申明函数的定义及申明 - 使用方式使用方式: 调用调用/嵌套嵌套 - 协作方式协作方式: 主函数主函数/子函数子函数/嵌套函数嵌套函数 - 内部变量内部变量: 生存周期控制生存周期控制n控制语句控制语句 - if /if-else/if-elseif-el
2、se - switch-case - for/while MatlabMatlab计算与仿真计算与仿真第八讲回顾第八讲回顾 (续续) if 语句一般形式语句一般形式 if logical_expression block of statements elseif logical_expression block of statements else block of statements endMatlabMatlab计算与仿真计算与仿真第八讲回顾第八讲回顾 (续续) switch 语句语句 一般形式一般形式 switch expression case value1, block of st
3、atements case value2, block of statements . otherwise, block of statements endMatlabMatlab计算与仿真计算与仿真第八讲回顾第八讲回顾 (续续) - 循环结构循环结构 根据条件重复执行程序指令或模块根据条件重复执行程序指令或模块 for 语句语句 % % 计数循环计数循环 一般形式一般形式 for index = expression block of statements endMatlabMatlab计算与仿真计算与仿真第八讲回顾第八讲回顾 (续续) while 语句语句 一般形式一般形式 while e
4、xpression block of statements endMatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)while 语句实例语句实例: newton法计算法计算 while abs(rold-r) delta rold = r; r = 0.5*(rold + x/rold); end12newoldoldxrrrxMatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)循环中断控制循环中断控制: while 语句实例语句实例 x = rand(1,10); k = 1; while k0.8 break end k = k + 1; en
5、dMatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)函数返回控制函数返回控制: while 语句实例语句实例 x = rand(1,10); k = 1; while k0.8 return end k = k + 1; endMatlabMatlab计算与仿真计算与仿真综合练习综合练习: 利用级数展开近似计算利用级数展开近似计算 sin - 提示提示 sin 的级数展开为的级数展开为 - m-函数实例函数实例 1: function s=powersin(x); 2: % POWERSIN. Power series for sin(x). 3: % POWERSIN
6、(x) tries to compute sin(x) from a power series.Matlab编程编程 (续续)357sin3!5!7!xxxxxMatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续) 4: s=0; 5: t=x; 6: n=1: 7: while abs(t) eps 8: s=s+t; 9: t=-x.2/(n+1)*(n+2).*t; 10: n=n+2; 11: endMatlabMatlab计算与仿真计算与仿真n综合练习七: 生命周期曲线 - 提示: 生理-23天; 情感-28天; 智力-33天 function biorythm(
7、mybirthday) t0=datenum(mybirthday); t1=fix(now); t=(t1-28):1:(t1+28); t=t; y=100*sin(2*pi*(t-t0)/23) sin(2*pi*(t-t0)/28) sin(2*pi*(t-t0)/33);Matlab编程编程 (续续)MatlabMatlab计算与仿真计算与仿真 plot(t,y(:,1),t,y(:,2),-,t,y(:,3),.-,t1 t1,-100 100,k:); datetick(x,dd/mm,keeplimits); axis tight; title(mybirthday); leg
8、end(Physical,Emotional,Intellectual); xlabel(timedd/mm); ylabel(biorythm index %)Matlab编程编程 (续续)MatlabMatlab计算与仿真计算与仿真- 关于函数变量与参数传递关于函数变量与参数传递 输入输入(输出输出)变量查询函数变量查询函数: nargin(nargout) 功能功能: 返回函数的输入返回函数的输入(输出输出)个数个数 应用应用: 根据变量个数根据变量个数, 选取模块执行选取模块执行 function c = testarg1(a, b) if (nargin = 1) c = a . 2
9、; elseif (nargin = 2) c = a * b; endMatlab编程编程 (续续)MatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续) - 变量的传递变量的传递 输入输入(输出输出)变量查询函数变量查询函数: varargin(varargout) 功能功能: 返回由函数的输入返回由函数的输入(输出输出)变量的元胞数组变量的元胞数组 元胞元胞: Matlab的数据类型的数据类型, 由由 标识标识 中可以是算术中可以是算术/逻辑逻辑/字符字符/结构数据类型结构数据类型, 例如例如 A(1,1) = 1 4 3; 0 5 8; 7 2 9; A(1,2)
10、= Anne Smith; A(2,1) = 3+7i; A(2,2) = -pi:pi/10:pi;MatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续) - 变量的传递变量的传递(续续): 替代列表替代列表 注意注意: 元胞数组的引用元胞数组的引用: function testvar(varargin) for k = 1:length(varargin) x(k) = varargink(1); % Cell array indexing y(k) = varargink(2); end xmin = min(0,min(x); ymin = min(0,min(y)
11、; axis(xmin fix(max(x)+3 ymin fix(max(y)+3) plot(x,y)MatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)- - 函数句柄函数句柄 定义定义: 指向函数的指向函数的Matlab值值, 基本格式基本格式 fhandle=functionname fhandle可以作为变量传递可以作为变量传递 功能功能: 用于函数的创建和访问用于函数的创建和访问(运算运算) sqr = (x) x.2 % 匿名函数匿名函数 trigFun = sin, cos, tan plot(trigFun2(-pi:0.01:pi)MatlabMat
12、lab计算与仿真计算与仿真Matlab编程编程 (续续)函数句柄的引用格式函数句柄的引用格式 fhandle(arg1, arg2, ., argn) 实例实例: fhandle指向指向函数的曲线绘制函数的曲线绘制 function x = plotFHandle(fhandle, data) plot(data, fhandle(data) 引用引用: 绘制绘制sin函数的曲线函数的曲线 plotFHandle(sin,-pi:0.01:pi)MatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续) 匿名函数匿名函数 创建匿名函数创建匿名函数 fhandle = (argl
13、ist) expr 创建实例创建实例 sumxy = (x, y) (x + y) 应用操作应用操作 sumxy(5, 7) MatlabMatlab计算与仿真计算与仿真 匿名函数元胞组实例匿名函数元胞组实例 A = (x)x.2, (y)y+10, (x,y)x.2+y+10 A = (x)x.2 (y)y+10 (x,y)x.2+y+10 A1(4) + A2(7) ans = 33 A3(4, 7) ans = 33 Matlab编程编程 (续续)MatlabMatlab计算与仿真计算与仿真参数化的匿名函数参数化的匿名函数 a = 1.3; b = .2; c = 30; parabol
14、a = (x) a*x.2 + b*x + c; fplot(parabola, -25 25) % fplot(x) a*x.2 + b*x + c, -25 25) a = -3.9; b = 52; c = 0; fplot(parabola, -25 25) 提示提示: fplot 绘制句柄指向函数的图形绘制句柄指向函数的图形Matlab编程编程 (续续)MatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)多重匿名函数的使用多重匿名函数的使用 问题问题: 计算计算 提示提示: quad 是是 matlab 缺省的积分计算函数缺省的积分计算函数 回忆回忆: look
15、for quad g = (c) (quad(x) (x.2 + c*x + 1), 0, 1); g(2)120( )1 dg cxcxx(2)gMatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)用户参数交互输入用户参数交互输入 参数的作用参数的作用: 使程序更加通用灵活使程序更加通用灵活 参数输入的主要模式参数输入的主要模式 - input 函数输入参数函数输入参数 - keyboard函数函数 (键盘模式键盘模式) - menu 函数函数 (菜单模式菜单模式) MatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)键盘输入模式键盘输入模式 基本
16、格式基本格式: v= input( 显示的提示信息显示的提示信息 ); 功能实现功能实现: 向用户显示提示信息向用户显示提示信息 将用户的输入赋给将用户的输入赋给v 使用实例使用实例 freq=input(frequence is) 结果结果 frequence is (等待键盘输入等待键盘输入, 回车确认输入完成回车确认输入完成 ) MatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)键盘控制模式键盘控制模式 基本格式基本格式: keyboard; 功能实现功能实现: 临时终止程序执行临时终止程序执行 将控制权交给命令窗口将控制权交给命令窗口 利用回车结束键盘控制利用回
17、车结束键盘控制 使用实例使用实例 查询查询/修改函数工作空间的变量修改函数工作空间的变量 建立新的函数空间的变量建立新的函数空间的变量MatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)菜单输入模式菜单输入模式 基本格式基本格式: item_no=menu(title,item1,itemn); 功能实现功能实现: 显示菜单显示菜单 用户选择按钮用户选择按钮 返回菜单序号返回菜单序号 使用实例使用实例 s=menu(signal,red,green,yellow) 可结合选择控制语句使用可结合选择控制语句使用MatlabMatlab计算与仿真计算与仿真Matlab编程编程
18、 (续续)程序设计技术程序设计技术 循环向量化计算模式循环向量化计算模式 目的目的: 向量计算替代循环模式向量计算替代循环模式 实例实例: tic tic for t=0:0.01:100 t=0.0:0.01:100 i=i+1; y(i)=sin(t) y=sin(t) end toc toc 耗时耗时7.58 耗时耗时0.01 MatlabMatlab计算与仿真计算与仿真Matlab编程编程 (续续)程序设计技术程序设计技术(续续) 阵列预分配空间阵列预分配空间 目的目的: 避免循环过程空间分配的耗时避免循环过程空间分配的耗时 实例实例: y(k)=0.75y(k-1)-0.125y(k-2)+2u(k) clear all,tic T=0.001; t=0:T:16 u=sin(2*pi*t); % y=zeros(size(u) y(1)=2*u(1); y(2)=0.75*y(1)+2*u(2);耗时耗时0.562(%)/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- NB/T 11533-2024煤矿水中氯离子、氟离子、溴离子、硫酸根、硝酸根、亚硝酸根和磷酸根含量的测定离子色谱法
- 中图版历史七年级上册第14课《两汉科技与文化》听课评课记录
- 八年级政治下册第五单元我是中国公民5.2《公民的权利和义务》活动探究型听课评课记录(粤教版)
- 七年级数学上册第3章实数3.1平方根听评课记录(新版浙教版)
- 人教版道德与法治八年级下册3.1《公民基本权利》听课评课记录
- 粤教版地理七年级下册7.5《日本》听课评课记录2
- 教科版道德与法治九年级上册第十课《走向小康》听课评课记录
- 冀教版数学九年级上册26.4《解直角三角形的应用》听评课记录
- 人教版七年级数学下册9.3.1《解一元一次不等式组》听评课记录
- 湘教版数学九年级下册2.3《垂径定理》听评课记录
- 小班数学《整理牛奶柜》课件
- 皮肤感染的护理诊断与护理措施
- 中考语文真题双向细目表
- 2024年江苏省对口单招英语试卷及答案
- 药品集采培训课件
- 高中物理考试成绩分析报告
- 动静脉内瘘血栓
- 部编版小学语文三年级上册同步练习试题含答案(全册)
- 血性胸水的护理课件
- 医共体人财物管理系统需求说明
- 临时占用城市道路申请表
评论
0/150
提交评论