清华大学MATLAB课件 第四讲

上传人:飞*** 文档编号:48603494 上传时间:2018-07-18 格式:PPT 页数:49 大小:159KB
返回 下载 相关 举报
清华大学MATLAB课件 第四讲_第1页
第1页 / 共49页
清华大学MATLAB课件 第四讲_第2页
第2页 / 共49页
清华大学MATLAB课件 第四讲_第3页
第3页 / 共49页
清华大学MATLAB课件 第四讲_第4页
第4页 / 共49页
清华大学MATLAB课件 第四讲_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《清华大学MATLAB课件 第四讲》由会员分享,可在线阅读,更多相关《清华大学MATLAB课件 第四讲(49页珍藏版)》请在金锄头文库上搜索。

1、MATLAB 2006a 简明教程 清华大学出版社微分方程 lMATLAB 能够求解的微分方程类型包括: 常微分方程初值问题 常微分方程边值问题 时滞微分方程初值问题 偏微分方程 Date1MATLAB 2006a 简明教程 清华大学出版社常微分方程初值问题 lMATLAB 可以求解的常微分方程包括下面三种类型: 显式常微分方程 线性隐式常微分方程, ,其中 为矩阵。 全隐式常微分方程Date2MATLAB 2006a 简明教程 清华大学出版社显式常微分方程 lMATLAB 可以求解刚性方程和非刚性方程。求解微分方程的命令格式为:t,y = solver(odefun,tspan,y0,opt

2、ions) odefun:待求解方程的句柄 tspan:为积分区间 y0:为一个向量,包括问题的初始条件 Options:用于指定求解算法。对于刚性方程和非刚性方程,可以选择的算法不同。Date3MATLAB 2006a 简明教程 清华大学出版社l对于非刚性方程,可以选择的算法如下: ode45:基于显式 Runge-Kutta(4,5) 规则求解 ode23:基于显式 Runge-Kutta(2,3) 规则求解 ode113: 利用变阶 Adams-Bashforth-Moulton 算法求解 Date4MATLAB 2006a 简明教程 清华大学出版社l刚性方程的求解方法如下 : ode1

3、5s:基于数值积分公式的变阶求解算法 ode23s:采用二阶改进 Rosenbrock 公式的算法 ode23t:采用自由内插的梯形规则 ode23tb:采用 TR-BDF2 算法,该算法为隐式 Runge-Kutta 公式,包含两个部分,第一个部分为梯形规则,第二个部分为二阶后向差分。Date5MATLAB 2006a 简明教程 清华大学出版社% 编写M函数function dydt=vdp1(t,y)dydt=y(2); (1-y(1)2*y(2)-y(1);% y2=yl;% (1-y12)y2-y1=y2 t,y=ode45(vdp1,0 20,2 0);tspany1(0),y2(0

4、)例4-54Date6MATLAB 2006a 简明教程 清华大学出版社常微分方程边值问题 lbvp4c 函数用于求解常微分方程边值问题,该函数点调用格式为: sol = bvp4c(odefun,bcfun,solinit) sol = bvp4c(odefun,bcfun,solinit,options) Odefun:待求解的函数句柄 bcfun:函数边值条件的函数句柄 solinit:一个结构体,为该方程解的初始估计值。 options:可选参数,用于指定积分算法,该参数为一 个结构体,可以通过函数 bvpset 创建。Date7MATLAB 2006a 简明教程 清华大学出版社% 编

5、写M函数:y1=y2, y2=-|y1|function dydx=twoode(x,y)dydx=y(2), -abs(y(1); function res=twobc(ya,yb)res=ya(1), yb(1)+2;% 求解方程solinit=bvpinit(linspace(0,4,5),1 0); %初始估计值sol=bvp4c(twoode,twobc, solinit)例4-57Date8MATLAB 2006a 简明教程 清华大学出版社MATLAB 2006a 简明教程 清华大学出版社第5章 字符串、单元数组和 结构体Date9MATLAB 2006a 简明教程 清华大学出版社

6、教学目标l掌握字符串的生成及操作l掌握单元数组的生成及操作l掌握结构体的生成及操作Date10MATLAB 2006a 简明教程 清华大学出版社教学内容l字符串l单元数组l结构体Date11MATLAB 2006a 简明教程 清华大学出版社字符串的生成(1/2) l字符串的生成 MATLAB 中的字符串为 ASCII 值的数值数组,作为字符串表达式进行表示。在 MATLAB 中,生成字符串的方法如下:stringname=the content of the stringstringname =the content of the stringDate12MATLAB 2006a 简明教程 清

7、华大学出版社 str1=TheMATLABHelpis a good reference for using Matlab? str1=TheMATLABHelpis a good reference for using Matlab|Error: Unexpected MATLAB expression. str1=TheMATLABHelpis a good reference for using Matlabstr1 =The MATLABHelpis a good reference for using MatlabDate13MATLAB 2006a 简明教程 清华大学出版社字符串的

8、生成(2/2) l字符串是一个 ASCII 码的字符数组,因此,与普通数组一样,字符串也可以形成矩阵(表现为一个字符串有多行)。但是,这些行必须有相同数目的列数。l使用 char 函数可以创建长度不一致的字符串矩阵。char 函数自动将所有字符串的长度设置为输入字符串中长度的最大值。调用方法为:name=char(str1, str2) Date14MATLAB 2006a 简明教程 清华大学出版社 str=qinghua universitypeiking universitystr =qinghua universitypeiking university str=qh universit

9、ypeiking university? Error using = vertcatCAT arguments dimensions are not consistent.Date15MATLAB 2006a 简明教程 清华大学出版社 name=char(qh university,peiking university)name =qh university peiking universityDate16MATLAB 2006a 简明教程 清华大学出版社字符串的操作 l字符串的显示字符串的显示有两种方式:直接显示和利用 disp 函数进行显示。l字符串的执行在 MATLAB 中可以用函数 e

10、val 来执行字符串。 Date17MATLAB 2006a 简明教程 清华大学出版社 str=MATLAB 2007astr =MATLAB 2007a strstr =MATLAB 2007a disp(str)MATLAB 2007aDate18MATLAB 2006a 简明教程 清华大学出版社 for n=1:3magic_str=M,int2str(n),=magic(n);eval(magic_str)endM1 =1M2 =1 34 2M3 =8 1 63 5 74 9 2Date19MATLAB 2006a 简明教程 清华大学出版社字符串的运算函数名函数用途函数名函数用途str

11、cat横向连接字符串strvcat纵向连接字符串strcmp字符串比较strncmp比较字符串的前n 个字符findstr字符串查找strjust字符串对齐strmatch字符串匹配strrep字符串查找与替换strtok选择 字符串中的部分blanks创建由空格组成的字符 串deblank删除字符串结尾的空格ischar判断变量是否为字符串iscellstr判断字符串单元数组isletter判断数组是否由字母组 成isspace判断是否空格stringsMATLAB 字符串句柄Date20MATLAB 2006a 简明教程 清华大学出版社字符串的比较(1/3)l字符串的比较主要为比较两个字符

12、串是否相同,字符串中的子串是否相同和字符串中的个别字符是否相同。用于比较字符串的函数主要是 strcmp 和 strncmp。 strcmp:用于比较两个字符串是否相同。用法为strcmp(str1, str2),当两个字符串相同时返回1,否则返回0。 strncmp:用于比较两个字符串的前面几个字符是否相同。用法为strncmp(str1,str2,n),当字符串的前n个字符相同时返回1,否则返回 0。 (例5-6)Date21MATLAB 2006a 简明教程 清华大学出版社 str1=MATLABstr1 =MATLAB str2=MATlabstr2 =MATlab strcmp(str1,str2)ans =0 strncmp(str1,str2,3)ans =1 strncmp(str1,str2,4)ans =0Date22MATLAB 2006a 简明教程 清华大学出版社字符串的比较(2/3)l通过简单运算比较两个字符串。当两个字符串拥有相同的维数时,可以利用 MATLAB 运算法则,对字符数组进行比较。 字符数组的比较与数值数组的比较基本相同,不同之处在于字符数组比较时进行比较的是字符的 ASCII 码值。进行比较返回的结果为一个数值向量,元素为对应字符比较的结果。需要注意的是在利用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号