【Java精品源码栏目提醒】:网学会员在Java精品源码频道为大家收集整理了“【精品】MatLab3-程序设计1 - 大学课件“提供大家参考,希望对大家有所帮助!
MatLab 数学建模 第三讲 MatLab 程序设计一、 M 文件M 文件可以分为脚本文件Script和函数文件Function两种。
1 脚本文件:(1)编写文档:点击 MATLAB 指令窗口上面最左端的图标 ,即新建文件,就可打开 MATLAB 文件编辑器,像 word 一样。
用户即可在空白窗口中编写程序。
例如输入如下一段程序 area.m 的例子 新建 M-file area.m 计算一个球的体积r inputType radius 输入半径:Areapir2volume4/3pir3fprintf半径 The radius is 12.5fnrfprintf面积 The area of a circle is 12.5fnAreafprintf体积 The volume of a sphere is 12.5fnvolume 点击编辑调试器工具条图标 ,在弹出的 Windows 标准风格的“保存为”对话框中,选择保存文件夹,键入新编文件名(如 area),点击【保存】键,就完成了文件保存。
2)点击文件编辑器上面工具条中的保存 ,命名(例如将上面的程序命名为 picture),然后保存。
这样的文件就是 M-文件:area.m 3运行:i)在命令窗口中输入文件名如上面的 area然后执行。
或直接在文件编辑器上面的工具条中找到 debug 里面的 run 即 ii) (运行),点击即可(或直接按 F5)。
iii)如果发现错误,在写好的程序里直接改正,然后再保存,再运行,注意一定要先保存,后运行。
2 函数文件:我们经常用到的像 sin、cos、exp 这样的一些函数都是 MATLAB软件自身所带的函数, 因此直接应用即可,但有时我们为了解决一些问题需要自己编写函数。
自己编写函数有两个基本要求i)必须在 MATLAB 文件编辑器中编写,也是 M-文件。
ii)函数名和文件名必须相同。
例 编写函数 x 3 2 x 2 x 6.3 计算 f 1 f 2 f 2 3 f x 2 0.05 x 3.14 (1)打开 MATLAB 文件编辑器,即点图标 ,输入 function y fun1x 表示 y 是 x 的函数,x 是自变量, fun1 是我们自己命名的函数名 yx3 - 2x2 x - 6.3/x2 0.05x - 3.14然后保存。
注:在自己编写的函数前都要写上 function(关键字),表示这是自己定义的函数。
fun1 表示函数名,那么最后保存文件也要命名为 fun1。
在指令窗口运行以下指令:fun11fun12fun13fun13ans -12.6023例:计算阶层函数 fact.mfunction output factnif n 1 output 1returnendoutput nfactn-1二 MATLAB 控制流for 循环结构For 循环允许一组命令以固定的和预定的次数重复。
For 循环的一般形式是: for x array commands end在 for 和 end 语句之间的commands按数组中的每一列执行一次。
【例】 for n1:10 xnsinnpi/10 end x x Columns 1 through 7 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 8 through 10 0.5878 0.3090 0.0000 For 循环可按需要嵌套 。
n0:1:10for i1:11 for j1:11 yisinni njnj10 endendy Columns 1 through 7 0 -0.5064 0.9300 -0.8027 -0.1425 -0.9765 -0.5118 Columns 8 through 11 0.8586 -0.9957 0.9917 0.9287n 1.0e012 Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 11 0.7000 0.8000 0.9000 1.0000可以利用 break 命令跳出 for 循环【例】一个简单的 for 循环示例。
for i1:10 i 依次取 12…10. xii 对每个 i 值,重复执行由该指令构成的循环体,endx 要求显示运行后数组 x 的值。
x 1 2 3 4 5 6 7 8 9 10while 循环结构与 For 循环以固定次数求一组命令的值相反,While 循环以不定的次数求一组语句的值。
While 循环的一般形式是: while expression commands end只要在表达式里的所有元素为真,就执行 while 和 end 语句之间的commands。
【例】 num0EPS1 while 1EPS1 EPSEPS/2 numnum1 end num num 53 EPS2EPS EPS 2.2204e-016【例】x zeros16 x 是一个的零矩阵i 1while i 0.5 dispi love youelse dispi donot love youend【例】一个简单的分支结构。
cost10number12if number8 sumsnumber0.95costendsumssums 114.0000【例】用 for 循环指令来寻求 Fibonacc 数组中第一个大于 10000 的元素。
n100aones1nfor i3:n aiai-1ai-2 if ai10000 ai break 跳出所在的一级循环。
endendians 10946i 21 MATLAB 的输入与输出语句 输入语句 o 输入数值 xinputplease input a number: please input a number:22 x 22 o 输入字符串 xinputplease input a string:s please input a string:this is a string x this is a string 输出语句 o 输出显示命令 自由格式 disp disp23454-294 361 disp11 22 33 44 55 66 77 88 99 11 22 33 44 55 66 77 88 99 dispthis is a string this is a string 格式化输出 fprintf。
fprintfThe area is 8.5fn area 注意输出格式前须有符号,跳行符号须有符号 The area is 12.56637 输出值为 8 位数含 5 位小数 在这里你如果学过 c 语言就能很好的理解了。
o 错误消息显示命令 errorthis is an error this is an error 关系操作符 说明 小于 大于 大于或等于 等于 不等于 逻辑操作符 说明 与 或 非
上一篇:
java_Proxy和rtti(反射)实现动态代理工厂
下一篇:
bc80e7a0-d1f2-4595-b21d-01a76798e87a