书签 分享 收藏 举报 版权申诉 / 72
上传文档赚钱

类型第7章-程序设计(MATLAB课件).ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5174748
  • 上传时间:2023-02-16
  • 格式:PPT
  • 页数:72
  • 大小:1.02MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第7章-程序设计(MATLAB课件).ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    程序设计 MATLAB 课件
    资源描述:

    1、MATLAB 7.0MATLAB 7.0从入从入门到精通门到精通哈尔滨工业大学哈尔滨工业大学(威海威海)汽车工程学院汽车工程学院2023-2-122课程主要内容课程主要内容 第第1章章 MATLAB简介简介 第第2章章 数值运算数值运算 第第3章章 单元数组和结构单元数组和结构 第第4章章 字符串字符串 第第5章章 符号运算符号运算 第第6章章 MATLAB绘图基础绘图基础 第第7章章 程序设计程序设计 第第8章章 计算方法的计算方法的MATLAB实现实现 第第9章章 优化设计优化设计 第第10章章 SIMULINK仿真初探仿真初探2023-2-123第第7章章 程序设计程序设计 MATLAB

    2、作为一种广泛应用于科学计算的工作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计具软件,不仅具有强大的数值计算、符号计算、矩阵运算的能力和丰富的绘图功能,还算、矩阵运算的能力和丰富的绘图功能,还可以像可以像C语言、语言、FORTRAN等计算机高级语言等计算机高级语言一样进行程序设计,编写扩展名为一样进行程序设计,编写扩展名为.m的的M文文件,实现各种复杂的运算,同时件,实现各种复杂的运算,同时MATLAB自自带的许多函数就是带的许多函数就是M文件函数,用户也可以文件函数,用户也可以利用利用M文件来生成和扩充自己的函数库。文件来生成和扩充自己的函数库。2023-2-1247.1

    3、 脚本和函数脚本和函数 所谓所谓M文件,简单来说就是用户把要实现文件,简单来说就是用户把要实现的命令写在一个以的命令写在一个以.m作为扩展名的文件中,作为扩展名的文件中,然后由然后由MATLAB系统进行解释,最后运行系统进行解释,最后运行出结果。出结果。M文件有函数和脚本两种格式。两者只是文件有函数和脚本两种格式。两者只是在语法和使用上有些不同。脚本式在语法和使用上有些不同。脚本式M文件文件没有输入参数或输出参数,而函数式没有输入参数或输出参数,而函数式M文文件有输入参数和输出参数;函数可以有零件有输入参数和输出参数;函数可以有零个或多个输入或输出变量。个或多个输入或输出变量。2023-2-1

    4、257.1.1 脚本脚本 脚本是一个扩展名为脚本是一个扩展名为.m的文件,其中包含了的文件,其中包含了MATLAB的各种命令,与批处理文件很类似,在的各种命令,与批处理文件很类似,在MATLAB命令窗口下直接输入此文件的主文件名,命令窗口下直接输入此文件的主文件名,MATLAB可逐一执行在此文件内的所有命令,和可逐一执行在此文件内的所有命令,和在命令窗口逐行输入这些命令一样。脚本式在命令窗口逐行输入这些命令一样。脚本式M文文件运行产生的所有变量都是全局变量,运行脚本件运行产生的所有变量都是全局变量,运行脚本后,所产生的所有变量都驻留在后,所产生的所有变量都驻留在MATLAB基本工基本工作空间,

    5、只要用户不使用作空间,只要用户不使用clear命令加以清除,且命令加以清除,且MATLAB指令窗口不关闭,这些变量将一直保存。指令窗口不关闭,这些变量将一直保存。基本空间随基本空间随MATLAB的启动而产生,在关闭的启动而产生,在关闭MATLAB软件时该基本空间被删除。软件时该基本空间被删除。例:例:huitu0.m2023-2-126huitu0程序结果2023-2-1277.1.2 函数函数 MATLAB中许多常用的函数都是函数式中许多常用的函数都是函数式M文件,文件,使用时,使用时,MATLAB获取传递给它的变量,利用操获取传递给它的变量,利用操作系统所给的输入,运算得到要求的结果,然后

    6、作系统所给的输入,运算得到要求的结果,然后返回这些结果。函数文件类似于一个黑箱,由函返回这些结果。函数文件类似于一个黑箱,由函数执行的命令以及这些命令所创建的中间变量都数执行的命令以及这些命令所创建的中间变量都是隐含的。运算过程中的中间变量都是局部变量是隐含的。运算过程中的中间变量都是局部变量(除特别声明外除特别声明外),存放在函数本身的工作空间内,存放在函数本身的工作空间内,不会和不会和MATLAB基本工作空间的变量相互覆盖,基本工作空间的变量相互覆盖,对用户来说,可见的只是输入和输出,因此易于对用户来说,可见的只是输入和输出,因此易于使程序模块化,特别适合于大型程序代码。使程序模块化,特别

    7、适合于大型程序代码。例:例:huitu.m huitu.m2023-2-128huitu(1,2,3)程序结果程序结果2023-2-1297.2 M文件的程序结构文件的程序结构 程序结构一般分为顺序结构、循环结构、程序结构一般分为顺序结构、循环结构、分支结构三种。分支结构三种。理论上讲,只要有以上三种结构就可以构理论上讲,只要有以上三种结构就可以构造功能强大的程序。造功能强大的程序。与大多数计算机语言一样,与大多数计算机语言一样,MATLABMATLAB也提也提供了上述三种程序结构。供了上述三种程序结构。虽然虽然MATLABMATLAB没有没有C C语言那样具有丰富的控语言那样具有丰富的控制结

    8、构,但是制结构,但是MATLABMATLAB自身的强大功能弥自身的强大功能弥补了这个不足,使用户在编程时几乎感觉补了这个不足,使用户在编程时几乎感觉不到困难。下面分别对这三种结构进行介不到困难。下面分别对这三种结构进行介绍。绍。2023-2-12107.2.1 顺序结构顺序结构 顺序结构就是依次顺序地执行程序的各条顺序结构就是依次顺序地执行程序的各条语句。顺序结构一般不含有其他子结构或语句。顺序结构一般不含有其他子结构或控制语句,批处理文件就是典型的顺序结控制语句,批处理文件就是典型的顺序结构的文件。构的文件。例:例:jizhi.m2023-2-1211jizhi程序结果程序结果2023-2-

    9、12127.2.2 循环结构循环结构 在实际计算中,经常会碰到许多有规律的在实际计算中,经常会碰到许多有规律的重复计算,此时就要对某些语句进行重复重复计算,此时就要对某些语句进行重复执行。执行。一组被重复执行的语句称为循环体,每个一组被重复执行的语句称为循环体,每个循环语句都要有循环条件,以判断循环是循环语句都要有循环条件,以判断循环是否要继续进行下去。否要继续进行下去。MATLAB中的循环语句包括中的循环语句包括for循环与循环与while循环。循环。2023-2-12131、for循环循环 for循环允许一组命令以固定的和预定的次循环允许一组命令以固定的和预定的次数重复执行,数重复执行,f

    10、or循环的一般形式如下所示:循环的一般形式如下所示:for 循环变量循环变量=数组数组 循环体循环体(执行语句执行语句);end 在在for与与end语句之间的执行语句是按矩阵语句之间的执行语句是按矩阵(或数组或数组)中的每一列执行一次,即在每一次中的每一列执行一次,即在每一次循环中,矩阵循环中,矩阵(或数组或数组)元素一个一个地被赋元素一个一个地被赋给循环变量,然后由执行语句执行。给循环变量,然后由执行语句执行。例:例:for1.m,specmat.m2023-2-1214程序结果程序结果 for1 x=Columns 1 through 7 2.0304 1.8008 1.5131 1.4

    11、165 1.7183 2.5111 3.7462 Columns 8 through 10 5.2620 6.8587 8.38912023-2-1215 specmat(6)ans=1 1 1 1 1 1 1 2 3 4 5 6 1 3 6 10 15 15 1 4 10 10 15 15 1 5 15 15 15 15 1 6 15 15 15 152023-2-1216 用用for循环语句需要注意以下事项:循环语句需要注意以下事项:(1)不能在不能在for循环体内重新对循环变量循环体内重新对循环变量n赋赋值来终止循环的执行。值来终止循环的执行。(2)for循环可以进行嵌套循环。循环可以进

    12、行嵌套循环。(3)循环语句内的循环语句内的“;”可防止中间变量的输可防止中间变量的输出。出。2023-2-12172、while循环循环 与与for循环固定的次数求一组命令的值相反,循环固定的次数求一组命令的值相反,while循环以不定的次数来求一组命令的值。循环以不定的次数来求一组命令的值。while循环循环的一般形式如下:的一般形式如下:while 表达式表达式 循环体循环体();n+1;(自增自增)end 只要表达式中的元素为真,就执行只要表达式中的元素为真,就执行while和和end语语句之间的命令。通常,表达式给出的是一个标量句之间的命令。通常,表达式给出的是一个标量值,但数组值,但

    13、数组(或矩阵或矩阵)同样有效。若为数组同样有效。若为数组(或矩阵或矩阵),则要求所有的元素都必须为真。则要求所有的元素都必须为真。例:例:while1.m2023-2-1218程序结果程序结果 while1 a=2.46192023-2-1219程序实例程序实例 问题描述:根据统问题描述:根据统计学的基础知识分计学的基础知识分析样本的平均值和析样本的平均值和标准差。标准差。例:例:for2.m和和while2.m1121121NNxxNsxNxNiiNiiNii2023-2-1220程序结果程序结果 for2 Enter the number of the points:6 Enter the

    14、 value:1 Enter the value:3 Enter the value:5 Enter the value:7 Enter the value:9 Enter the value:0 The mean of this data set is:4.166667 The standard deviation is:3.488075 The number of data is:62023-2-1221 while2 Enter the first value:1 Enter the other value:3 Enter the other value:5 Enter the othe

    15、r value:7 Enter the other value:9 Enter the other value:0 Enter the other value:-1 The mean of this data set is:4.166667 The standard deviation is:3.488075 The number of data is:62023-2-12227.2.3 分支结构分支结构 在程序设计中,经常要根据一定的条件来在程序设计中,经常要根据一定的条件来执行不同的语句。当某些条件满足时,只执行不同的语句。当某些条件满足时,只执行其中的某个语句或某些语句。在这种执行其中的

    16、某个语句或某些语句。在这种情况下,分支结构就会是很好的选择了。情况下,分支结构就会是很好的选择了。在在MATLAB中的分支结构语句包括中的分支结构语句包括if-else-end语句与语句与switch-case-otherwise语句。语句。2023-2-12231、if-else-end选择语句选择语句 if-else-end选择语句的结构如下所示:选择语句的结构如下所示:if条件式条件式1 表达式表达式1;elseif条件式条件式2 表达式表达式2;.else 表达式表达式n;end 哪一个哪一个if后的表达式中值为真,就执行该后的表达式中值为真,就执行该if后的表后的表达式,否则跳过该表

    17、达式进行其它判断。达式,否则跳过该表达式进行其它判断。例:例:ff.m2023-2-1224程序结果程序结果 ff(-1)ans=1 ff(2)ans=0.5000 ff(8)ans=0.9894 ff(16)ans=42023-2-1225 采用采用plot(x,ff(x)绘分段函数图。绘分段函数图。x1=-2:0.01:0;x2=0.5:0.01:5;x3=5.01:0.01:10;x4=10.01:0.01:12;plot(x1,ff(x1)hold on plot(x2,ff(x2)plot(x3,ff(x3)plot(x4,ff(x4)grid on2023-2-1226程序结果程序

    18、结果2023-2-1227 MATLAB中的选择语句中的选择语句switch-case-otherwise,是,是特别让熟悉特别让熟悉C等高级语言的用户方便地编写等高级语言的用户方便地编写M文文件而专门添加的。件而专门添加的。switch-case-otherwise语句的通语句的通用格式如下:用格式如下:swith expression case value1 statements1;.case valuen statementsn;otherwise statements;end2、switch-case-otherwise分支语句分支语句2023-2-1228 其中,其中,switch-

    19、expression给出了开关条件,给出了开关条件,当有当有case-expression与之匹配时,就执行其与之匹配时,就执行其后的语句,如果没有后的语句,如果没有case-expression与之匹与之匹配,就执行配,就执行otherwise后面的语句。在执行后面的语句。在执行过程中,只有一个过程中,只有一个case命令被执行,当执行命令被执行,当执行完命令后,程序就跳出分支结构,执行完命令后,程序就跳出分支结构,执行end下面的语句。下面的语句。例:例:fm.m2023-2-1229程序结果程序结果 fm(0)ans=20 fm(1)ans=40 fm(2)ans=60 fm(3)ans

    20、=80 fm(5)ans=1002023-2-1230工程实例工程实例 问题描述:向上斜问题描述:向上斜抛的小球,具有如抛的小球,具有如下的运动模型,仿下的运动模型,仿真小球的运动轨迹,真小球的运动轨迹,并计算小球在以什并计算小球在以什么样的角度斜抛时么样的角度斜抛时具有最大的水平距具有最大的水平距离,距离是多少。离,距离是多少。例:例:ball.mgvytvxgvtvvvvyxyyx22sincos20max0max000002023-2-1231程序结果程序结果 ball Enter the initial velocity:20 Range versus angle theta:0 0.

    21、0000 5 7.0732 10 13.9316 15 20.3666 20 26.1828 25 31.2034 30 35.2760 35 38.2767 40 40.11442023-2-1232 45 40.7332 50 40.1144 55 38.2767 60 35.2760 65 31.2034 70 26.1828 75 20.3666 80 13.9316 85 7.0732 90 0.0000 Max ranges is 40.7332 at 45 degrees.2023-2-1233图形结果图形结果2023-2-12347.3 程序流控制程序流控制 在许多程序设计语言

    22、中,经常要碰到提前终在许多程序设计语言中,经常要碰到提前终止循环、跳出程序、显示出错信息等,此时止循环、跳出程序、显示出错信息等,此时就需要用到控制程序流的命令。在就需要用到控制程序流的命令。在MATLAB中,同样有这样的程序控制流命中,同样有这样的程序控制流命令。令。下面逐一介绍下面逐一介绍MATLAB中的程序流的控制中的程序流的控制命令。命令。2023-2-12351、continue命令命令 continue命令经常与命令经常与for或或while语句一起使语句一起使用,其作用是结束本次循环,即跳过循环用,其作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一体中下面尚未执

    23、行的语句,接着进行下一次是否执行循环的判断。次是否执行循环的判断。注:当条件满足时,注:当条件满足时,continue语句才被调用,语句才被调用,跳出后面的语句,循环继续,条件不满足跳出后面的语句,循环继续,条件不满足则继续执行后面的程序。则继续执行后面的程序。例:例:continue1.m2023-2-1236程序结果程序结果 continue1 3 5 7 9 11 4 6 8 10 12 5 7 9 11 13 6 8 10 12 14 7 9 11 13 15 8 10 12 14 16 9 11 13 15 17 10 12 14 16 18 11 13 15 17 19 12 14

    24、 16 18 20 2023-2-12372、break命令命令 break命令也经常与命令也经常与for或或while等语句一起等语句一起使用,其作用是终止本次循环,跳出最内使用,其作用是终止本次循环,跳出最内层的循环。使用层的循环。使用break命令可以不必等到循命令可以不必等到循环的自然结束,而是根据条件,强制退出环的自然结束,而是根据条件,强制退出循环。这在很多情况下是必须的。循环。这在很多情况下是必须的。注:当条件满足时,注:当条件满足时,break语句才被调用,语句才被调用,系统将在循环尚未结束时跳出当前循环,系统将在循环尚未结束时跳出当前循环,条件不满足则继续执行后面的程序。条件

    25、不满足则继续执行后面的程序。例:例:jitu.m2023-2-1238程序结果程序结果 jitu The number of chicken is 22.The number of rabbit is 14.2023-2-12393、return命令命令 return命令能使当前正在运行的函数正常退命令能使当前正在运行的函数正常退出,并返回调用它的函数,继续运行。出,并返回调用它的函数,继续运行。这个语句经常用于函数的末尾,以正常结这个语句经常用于函数的末尾,以正常结束函数的运行。当然,也可用于函数的其束函数的运行。当然,也可用于函数的其他地方,对某些条件进行判断,如果条件他地方,对某些条件进

    26、行判断,如果条件不符合要求,调用不符合要求,调用return语句终止当前运行,语句终止当前运行,并返回调用它的函数或环境。并返回调用它的函数或环境。实际上,实际上,MATLAB中此语句的作用与其他中此语句的作用与其他的程序设计语言中的作用相同。的程序设计语言中的作用相同。例:例:dreturn.m2023-2-1240程序实例程序实例 dreturn(2)ans=5 dreturn()ans=5 dreturn()ans=12023-2-12414、echo语句语句 通常在通常在MATLAB中执行中执行M文件时,在命令窗口是看不到文件时,在命令窗口是看不到执行过程的。但在特殊情况下,比如需要对

    27、执行过程的。但在特殊情况下,比如需要对M文件演示时,文件演示时,要求要求M文件的每条命令都要显示出来,此时用文件的每条命令都要显示出来,此时用echo命令就命令就可以实现这样的操作。可以实现这样的操作。对于脚本式对于脚本式M文件与函数式文件与函数式M文件,文件,echo命令略有不同。命令略有不同。对于脚本式对于脚本式M文件,可以用以下方式来实现:文件,可以用以下方式来实现:echo on%显示其后所有执行的命令文件的指令显示其后所有执行的命令文件的指令 echo off%不显示其后所有执行的命令文件的指令不显示其后所有执行的命令文件的指令 echo%在上述两种情况下进行切换在上述两种情况下进行

    28、切换 对于函数式对于函数式M文件,可以用以下方式来实现:文件,可以用以下方式来实现:echo filename on%使使filename指定的指定的M文件的执行指令显文件的执行指令显示出来示出来 echo filename off%使使filename指定的指定的M文件的执行指令不文件的执行指令不显示出来显示出来 echo on all%其后的所有其后的所有M文件的执行指令显示文件的执行指令显示2023-2-12425、error语句语句 在进行程序设计时,许多情况下有错误出现,此在进行程序设计时,许多情况下有错误出现,此时如果能把错误信息显示出来,那样就会使用户时如果能把错误信息显示出来,

    29、那样就会使用户了解到是什么原因引起错误,以采取适合的方式了解到是什么原因引起错误,以采取适合的方式防止错误的再次发生。防止错误的再次发生。MATLAB中的中的error(错误错误信息信息?就用于实现上述功能。此命令能显示错误信就用于实现上述功能。此命令能显示错误信息并终止当前函数的运行,将控制信息返回到键息并终止当前函数的运行,将控制信息返回到键盘。盘。该指令用来指示出错信息并终止当前函数的运行。该指令用来指示出错信息并终止当前函数的运行。error(message)类似的是类似的是warning,区别是,区别是warning之后程序继续之后程序继续运行。运行。2023-2-12436、try

    30、.catch语句语句 try.catch语句的作用与上面的语句的作用与上面的error语句类似,是用于对语句类似,是用于对异常进行处理的命令。把有可能引起异常的语句放在异常进行处理的命令。把有可能引起异常的语句放在try控制块中,这样当控制块中,这样当try控制块中控制块中statement语句引起异常时,语句引起异常时,catch控制块就可以捕获它,并针对不同的错误类型,进控制块就可以捕获它,并针对不同的错误类型,进行不同的处理。它与行不同的处理。它与C+程序设计语言中的程序设计语言中的try.catch命令命令作用一样。作用一样。try.catch命令的调用格式如下:命令的调用格式如下:t

    31、ry(commands1),catch(commands2),end 组命令组命令1总被执行,当执行出现错误时,总被执行,当执行出现错误时,catch控制块就可控制块就可捕获它,执行组命令捕获它,执行组命令2,针对不同错误类型进行不同的处,针对不同错误类型进行不同的处理。可用理。可用lasterr函数查询出错原因。函数查询出错原因。注意注意try和和catch控制块中的语句之间用逗号隔开。控制块中的语句之间用逗号隔开。例:例:chucuo.m2023-2-1244程序结果程序结果 chucuo a_end=4 9 2 ans=Attempted to access a(4,:);index o

    32、ut of bounds because size(a)=3,3.2023-2-12457、input语句语句 input命令用来提示用户从键盘输入数据、命令用来提示用户从键盘输入数据、字符串或表达式,并接受输入值。字符串或表达式,并接受输入值。r=input(prompt)在屏幕上显示提示信息在屏幕上显示提示信息prompt,等待用户输入,并将值赋给,等待用户输入,并将值赋给r,直,直接回车则输出空矩阵。接回车则输出空矩阵。r=input(prompt,s)返回的字符串作为文返回的字符串作为文本变量而不作为变量名或者数值。本变量而不作为变量名或者数值。例:例:test.m2023-2-124

    33、6程序结果程序结果 test Do you want more?Y/NY:Y you have selected the first character test Do you want more?Y/NY:N you have selected the second one test Do you want more?Y/NY:s you have selected the second one2023-2-12478、pause命令命令 pause命令用于暂时终止程序的运行,等待命令用于暂时终止程序的运行,等待用户按任意键继续进行。用户按任意键继续进行。pause暂停暂停M文件的执行,按任

    34、意键继续文件的执行,按任意键继续 pause(n)终止程序终止程序n秒,秒,n是任意实数是任意实数 pause on允许后面的允许后面的pause命令起作用命令起作用 pause off使后面的使后面的pause命令不起作用命令不起作用 例:例:pause1.m2023-2-12487.4 脚本文件脚本文件 脚本文件只是逐条的解释文件中的程序条,脚本文件只是逐条的解释文件中的程序条,与命令窗口直接输入一样,只是它具有了与命令窗口直接输入一样,只是它具有了存储能力,且可以方便的多次运行该程序存储能力,且可以方便的多次运行该程序段,在命令窗口中只需输入存储的文件名段,在命令窗口中只需输入存储的文件

    35、名即可,且存储的文件名没有特殊要求。脚即可,且存储的文件名没有特殊要求。脚本文件中可以调用函数,只需调用函数名本文件中可以调用函数,只需调用函数名即可。即可。2023-2-12497.5 函数文件函数文件 函数的格式必须加函数的格式必须加function,并且,并且M文件的文件的存储名必须与函数名相同。一般函数都有存储名必须与函数名相同。一般函数都有输入和输出。输入和输出。2023-2-1250谢谢!2023-2-1251huitu0.m x=-pi:0.01:pi;y=cos(x);plot(x,y);grid on返回2023-2-1252huitu.m function f=huitu(

    36、a,b,c)x=-pi:0.01:pi;f=a*sin(b*x+c);plot(x,f);grid on返回2023-2-1253jizhi.m x=-pi:0.01:pi;y=sin(x)+sin(2*x)-cos(3*x);h=plot(x,y);x=get(h,XData);y=get(h,YData);imin=find(min(y)=y);imax=find(max(y)=y);hold on text(x(imin),y(imin),minimum=,num2str(y(imin);text(x(imax),y(imax),maximum=,num2str(y(imax);grid

    37、 on plot(x(imin),y(imin),o)plot(x(imax),y(imax),*)返回2023-2-1254for1.m for n=1:10 x(n)=exp(n/5)+cos(n*pi/5);end x返回2023-2-1255specmat.m function A=specmat(n)A=ones(n);for r=1:n for c=1:n if r1&c1 s=A(r-1,c)+A(r,c-1);if s20 A(r,c)=s;else A(r,c)=max(A(r-1,c),A(r,c-1);end end end end返回2023-2-1256while1.

    38、m n=1;a=0;while n10 a=a+log(n)/n;n=n+1;end a返回2023-2-1257for2.msum1=0;sum2=0;n=input(Enter the number of the points:);if n=0 n=n+1;sum1=sum1+x;sum2=sum2+x2;x=input(Enter the other value:);end xvar=sum1/n;std_dev=sqrt(n*sum2-sum12)/(n*(n-1);fprintf(The mean of this data set is:%fn,xvar);fprintf(The s

    39、tandard deviation is:%fn,std_dev);fprintf(The number of data is:%dn,n);返回2023-2-1259ff.m function y=ff(x)if x=0 y=x.2;elseif 0 x&x=5 y=1./x;elseif 5x&x10 y=x./4;end返回2023-2-1260fm.m function f=fm(n)switch n case 0 f=20;case 1 f=40;case 2 f=60;case 3 f=80;otherwise f=100;end返回2023-2-1261ball.m conv=p

    40、i/180;g=-9.82;v0=input(Enter the initial velocity:);range=zeros(1,91);%计算最大的水平距离。计算最大的水平距离。for i=1:91 theta=i-1;vx0=v0*cos(theta*conv);vy0=v0*sin(theta*conv);maxtime=-2*vy0/g;range(i)=vx0*maxtime;end2023-2-1262%显示计算水平距离的列表。显示计算水平距离的列表。fprintf(Range versus angle theta:n);for i=1:5:91 theta=i-1;fprint

    41、f(%2d%8.4fn,theta,range(i);end%计算最大的角度和水平距离。计算最大的角度和水平距离。maxrange index=max(range);maxangle=index-1;fprintf(n Max ranges is%8.4f at%2d degrees.n,maxrange,maxangle);2023-2-1263%绘制轨迹图形。绘制轨迹图形。for i=5:10:80 theta=i;vx0=v0*cos(theta*conv);vy0=v0*sin(theta*conv);maxtime=-2*vy0/g;%计算小球轨迹的计算小球轨迹的x,y坐标数值。坐标

    42、数值。x=zeros(1,21);y=zeros(1,21);for j=1:21 time=(j-1)*maxtime/20;x(j)=vx0*time;y(j)=vy0*time+0.5*g*time2;end plot(x,y,g)if i=5 hold on;endend2023-2-1264%添加图形的标题和坐标轴名称。添加图形的标题和坐标轴名称。title(Trajectory of Ball vs Initial Angletheta);xlabel(x(meters);ylabel(y(meters);axis(0 max(range)+5 0-v02/2/g);grid on

    43、2023-2-1265%绘制最大水平的轨迹图形。绘制最大水平的轨迹图形。vx0=v0*cos(maxangle*conv);vy0=v0*sin(maxangle*conv);maxtime=-2*vy0/g;x=zeros(1,21);y=zeros(1,21);for j=1:21 time=(j-1)*maxtime/20;x(j)=vx0*time;y(j)=vy0*time+0.5*g*time2;end plot(x,y,r,Linewidth,2);返回2023-2-1266continue1.m for i=1:10 for j=1:10 if mod(j,2)=1 conti

    44、nue else fprintf(%d ,i+j)end end fprintf(n);end返回2023-2-1267jitu.m i=1;while i0 if(i+(100-i*2)/4)=36&rem(100-i*2,4)=0%if rem(100-i*2,4)=0&(i+(100-i*2)/4)=36 break%continue%i=i+1;end i=i+1;n1=i;n2=(100-2*i)/4;%break end fprintf(The number of chicken is%d.n,n1);fprintf(The number of rabbit is%d.n,n2);

    45、返回2023-2-1268dreturn.m function d=dreturn(a)if isempty(a)d=1;return else d=5;end返回2023-2-1269chucuo.m clear;n=4;a=magic(3);try a_n=a(n,:),catch a_end=a(end,:),end lasterr返回2023-2-1270test.m function test()r=input(Do you want more?Y/NY:,s);if isempty(r)r=Y;%keyboard end if r=Y disp(you have selected

    46、the first character);else disp(you have selected the second one);end返回2023-2-1271pause1.m x=0:0.01:4*pi;y=sin(x);z=cos(x);r=y+z;plot(x,y)hold on pause plot(x,z)hold on pause(5)plot(x,r)返回2023-2-1272function huitu(a,b,c)x=-pi:0.01:pi;if nargin=0 error(Not enough input arguments.)endif nargin=1 plot(x,a*sin(x);grid onendif nargin=2 plot(x,a*sin(b*x);grid onendif nargin=3 plot(x,a*sin(b*x+c);grid onendhuitu.m返回

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第7章-程序设计(MATLAB课件).ppt
    链接地址:https://www.163wenku.com/p-5174748.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库