版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1数学软件数学软件 Matlab 编程基础(脚本文件)编程基础(脚本文件)2本讲主要内容本讲主要内容n M 文件文件n 基本运算:算术、关系、逻辑基本运算:算术、关系、逻辑n 简单的输入输出简单的输入输出n 控制结构:顺序、选择、循环控制结构:顺序、选择、循环3Matlab 编程编程l Matlab 作为一种广泛应用于科学计算的工具软件,不仅作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算能力和丰富的绘图功能,同时也可以具有强大的数值计算能力和丰富的绘图功能,同时也可以与与 C、FORTRAN 等高级语言一样进行等高级语言一样进行程序设计程序设计l 利用利用 Matlab 的程序控
2、制功能,将相关的程序控制功能,将相关 Matlab 命令编成命令编成程序存储在一个文件中(程序存储在一个文件中(M 文件文件),然后在命令窗口中运),然后在命令窗口中运行该文件,行该文件,Matlab 就会自动依次执行文件中的命令,直到就会自动依次执行文件中的命令,直到全部命令执行完毕全部命令执行完毕l 在在 Matlab 程序设计中,要充分利用程序设计中,要充分利用 Matlab 数据结构的数据结构的特点,提高编程效率特点,提高编程效率l Matlab 编程编程4l 用用 Matlab 语言编写的程序称为语言编写的程序称为 M 文件文件l M 文件以文件以 .m 为扩展名为扩展名l M 文件
3、是由若干文件是由若干 Matlab 命令组合在一起构成的,它可命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法以完成某些操作,也可以实现某种算法l M 文件分类(根据调用方式的不同)文件分类(根据调用方式的不同)l Script:脚本文件脚本文件/命令文件命令文件l Function:函数文件函数文件 M 文件文件l M 文件介绍文件介绍可以直接运行的可以直接运行的M文件文件5l M 文件的创建的与编辑文件的创建的与编辑M 文件文件l 新建一个新建一个 M 文件文件l 菜单操作菜单操作 ( File New Script / Function)l 命令操作命令操作 ( edit M
4、 文件名文件名 )l 命令按钮命令按钮 ( 快捷键快捷键 )l 打开已有的打开已有的 M 文件文件l 菜单操作菜单操作 ( File Open )l 命令操作命令操作 ( edit M 文件名文件名 )l 命令按钮命令按钮 ( 快捷键快捷键 )l 双击双击 M 文件文件 M 文件是文本文件,可以用任何文本编辑器来建立和编辑,文件是文本文件,可以用任何文本编辑器来建立和编辑,通常使用通常使用 Matlab 自带的自带的 M 文件编辑器文件编辑器6编程示例编程示例l 编程方式:新建一个编程方式:新建一个 M 文件文件,将上面的内容输入到该文将上面的内容输入到该文件中,然后在命令窗口中输入该文件名,
5、即可执行件中,然后在命令窗口中输入该文件名,即可执行例:例:用用 mesh 绘制半径为绘制半径为 3 的球的球 l 命令行方式:命令行方式:u=0:pi/60:2*pi; v=0:pi/60:pi; R=3; U,V=meshgrid(u,v);X=R*sin(V).*cos(U); Y=R*sin(V).*sin(U); Z=R*cos(V); mesh(X,Y,Z);axis equal;注:注:M 文件的命名规则与变量相同!文件的命名规则与变量相同!7l 在命令窗口中输入在命令窗口中输入 f2c,即可执行该即可执行该 M 文件文件5(32)9cf例:例:编写编写M文件,将华氏温度转化为摄
6、氏温度:文件,将华氏温度转化为摄氏温度:编程示例编程示例clear; % 清除当前工作空间中的所有变量清除当前工作空间中的所有变量f=input(Please input f:);c=5*(f-32)/9;fprintf(c=%gn,c);l 新建一个脚本文件新建一个脚本文件 f2c.m,内容如下:内容如下:l 脚本文件运行所产生的变量都驻留在脚本文件运行所产生的变量都驻留在 Matlab 当前工作空间当前工作空间l 百分号是百分号是注释符注释符l M文件必须在文件必须在当前工作目录当前工作目录下才能运行下才能运行8本讲主要内容本讲主要内容n M 文件文件n 基本运算:算术(略)、关系、逻辑基
7、本运算:算术(略)、关系、逻辑n 简单的输入输出简单的输入输出n 控制结构:顺序、选择、循环控制结构:顺序、选择、循环9关系运算关系运算l 比较大小,如果结论是比较大小,如果结论是 真真 则返回则返回 1 ,否则返回,否则返回 0l 注意注意 = = 与与 = 的区别的区别l 可以对两个可以对两个同样大小同样大小的数组进行比较运算,即对应分量的数组进行比较运算,即对应分量进行比较,结果为一个同样大小的进行比较,结果为一个同样大小的0-1数组数组l 也可以对也可以对一个数组和一个标量一个数组和一个标量进行比较运算,此时标量进行比较运算,此时标量和数组中的每一个元素极限比较,结果也是一个和数组中的
8、每一个元素极限比较,结果也是一个0-1数组数组l 关系运算:比较大小关系运算:比较大小大于大于=大于等于大于等于=等于等于小于小于=BB4x=pi2811逻辑运算逻辑运算l 逻辑运算逻辑运算and(x,y) 与与or(x,y)或或xor(x,y) 异或异或 not(x)非非&与(短格式)与(短格式)|或(短格式)或(短格式)注意注意 &,| 与与 &,| 的区别的区别&逻辑与逻辑与|逻辑或逻辑或逻辑非逻辑非 例:例:x=5;3x8 % ERROR3x & x=60) % 全部及格否?全部及格否?any(A=90) % 有没有有没有90分以上的?分以上的?
9、14isfinite(x)若若 x 为有限值,返回真值为有限值,返回真值 1isinf(x)若若 x 为无穷大,返回真值为无穷大,返回真值 1isnan(x)若若 x 为不定值,返回真值为不定值,返回真值 1isreal(x)若若 x 无虚部,返回真值无虚部,返回真值 1isstr(x)若若 x 为一个字符串,返回真值为一个字符串,返回真值 1isempty(x)若若 x 为空,返回真值为空,返回真值 1isprime(x)判断判断 x 是否为素数是否为素数一些测试函数一些测试函数isfinite(5)isinf(5)l 测试函数测试函数例:例:15小括号小括号幂,点幂幂,点幂正号,负号,逻辑
10、非正号,负号,逻辑非乘,除,点乘,点除乘,除,点乘,点除加,减加,减冒号运算冒号运算关系运算关系运算&|&|运算优先级运算优先级高低16本讲主要内容本讲主要内容n M 文件文件n 基本运算:算术、关系、逻辑基本运算:算术、关系、逻辑n 简单的输入输出简单的输入输出n 控制结构:顺序、选择、循环控制结构:顺序、选择、循环17例:例:x=input(Please input x: )l 数据的输入:数据的输入:inputx=input(提示信息提示信息)l 其中其中 提示信息提示信息 为字符串,为字符串,l 该命令要求用户输入该命令要求用户输入 x 的值的值 (可以是数或字符串可以
11、是数或字符串)inputname=input(Whats your name? )例:例:l 输入字符串时必须带输入字符串时必须带单引号单引号l 单引号的输出:两个连续的单引号单引号的输出:两个连续的单引号18disp(x)l 输出变量输出变量 x 的值,的值,x 可以是数值矩阵或字符串可以是数值矩阵或字符串l 一次只能输出一个变量的值一次只能输出一个变量的值x=pi; B=1 2 3; 4 5 6; 7 8 9;disp(x)disp(B)displ 数据的输出:数据的输出:dispstr=Hello, Tom!;disp(str)例:例:19fprintffprintf(fid, form
12、at, 变量列表变量列表)l 数据的格式化输出数据的格式化输出l 按按指定的格式指定的格式将变量的值输出到屏幕或指定的文件中将变量的值输出到屏幕或指定的文件中l fid 为文件句柄,若缺省,则输出到屏幕上为文件句柄,若缺省,则输出到屏幕上l format 用来指定数据输出时采用的格式,包含:用来指定数据输出时采用的格式,包含: 普通字符串、格式字符串、转义字符普通字符串、格式字符串、转义字符格式字符串格式字符串:以:以 % 开头,包括:开头,包括:n flags (可选可选)n Width and precision fields (域宽和精度,可选域宽和精度,可选)n Conversion
13、character (格式说明符,必须格式说明符,必须) 20fprintf 举例举例fprintf(a= %-12.5f n, pi)以以 % 开头开头flagfield widthprecision格式说明符格式说明符- :左对齐:左对齐+ :输出符号:输出符号0 :空白处添:空白处添 0空格空格:前面加一空格:前面加一空格字段宽度字段宽度指定小数指定小数点后位数点后位数l 格式字符串示例格式字符串示例21fprintfl 常用的格式说明符常用的格式说明符c字符型字符型g浮点数(自动)浮点数(自动)d十进制整数十进制整数o八进制八进制e浮点数(科学计数法)浮点数(科学计数法)s字符串字符串
14、f浮点数(小数形式)浮点数(小数形式)x/X十六进制十六进制l 常用的转义字符常用的转义字符b退后一格退后一格t水平制表符水平制表符f换页换页反斜杠反斜杠n换行换行单引号(两个连续的单引号)单引号(两个连续的单引号)r回车回车%百分号(两个连续的百分号)百分号(两个连续的百分号)22fprintf 举例举例a=Hello; b=2.4; c=100*pi;fprintf(a=%s, b=%f, c=%en,a,b,c)例:例:l 格式字符串格式字符串与输出变量要一一对应!与输出变量要一一对应!l 可以只输出一个字符串可以只输出一个字符串fprintf(Today is Tuesday!n)例:
15、例:fprintf(pi=%12.5f=n, pi)fprintf(pi=%-12.5f=n, pi)fprintf(pi=%012.5f=n, pi)例:例:23本讲主要内容本讲主要内容n M 文件文件n 基本运算:算术、关系、逻辑基本运算:算术、关系、逻辑n 简单的输入输出简单的输入输出n 控制结构:顺序、选择、循环控制结构:顺序、选择、循环24l 程序控制结构有三种:程序控制结构有三种:M文件控制流文件控制流l 按排列顺序依次执行各条语句,直到程序的最后按排列顺序依次执行各条语句,直到程序的最后l 这是最简单的一种程序结构,一般涉及数据的输入输这是最简单的一种程序结构,一般涉及数据的输入
16、输出、数据的计算或处理等出、数据的计算或处理等l 顺序结构顺序结构顺序结构、选择结构和循环结构顺序结构、选择结构和循环结构l 任何复杂的程序都由这三种基本结构组成任何复杂的程序都由这三种基本结构组成25选择结构选择结构l 选择结构选择结构l 选择结构的实现选择结构的实现l if 语句语句l switch 语句语句l 根据给定的条件成立或不成立,分别执行不同的语句根据给定的条件成立或不成立,分别执行不同的语句26l 单分支单分支 if 语句语句if 条件表达式条件表达式 语句组语句组endif 条件语句条件语句if 条件表达式条件表达式 语句组语句组1else 语句组语句组2endl 双分支双分
17、支 if 语句语句例:例:if score=60 mark=passed;end例:例:if ab x=a;else x=b;end27if 条件表达式条件表达式1 语句组语句组1elseif 条件表达式条件表达式2 语句组语句组2 . . elseif 条件表达式条件表达式m 语句组语句组melse 语句组语句组endl 多分支多分支 if 语句语句if 条件语句条件语句例:例:计算一个数符号计算一个数符号if x0 sign_of_x=1;elseif x1 if mod(x,2)=0 x=x/2; else x=3*x+1; end fprintf( x=%d n, x);endex4w
18、hile01.m35l 这个例子给出了计算这个例子给出了计算 eps 的一种方法。的一种方法。l 这里我们用大写这里我们用大写 EPS,因此系统中因此系统中 eps 的值不会被覆盖。的值不会被覆盖。当当 EPS=eps 时,条件仍成立;而当时,条件仍成立;而当 EPS=eps/2 时,条件不时,条件不成立,退出循环,所以最后应有成立,退出循环,所以最后应有 EPS=eps/2。k 用来记录循用来记录循环次数。环次数。计算计算 Matlab 中中 eps 值值while编程示例编程示例k=0; EPS=1;while (1+EPS) 1 EPS = EPS/2; k = k+1;end例:例:
19、ex4while02.m36循环的终止循环的终止l 循环的中断循环的中断l 跳出循环体,终止循环跳出循环体,终止循环l break 只能跳出一层循环只能跳出一层循环l 结束本轮结束本轮循环循环,执行下一执行下一轮轮循环循环break continue break 和和 continue 通常需要与通常需要与 if 语句配合使用语句配合使用若想强行终止运行中的程序,可以使用若想强行终止运行中的程序,可以使用 Ctrl+c37pausepause % 暂停程序的运行,按任意键后继续暂停程序的运行,按任意键后继续pause(x) % 暂停程序暂停程序 x 秒秒l 这里的这里的 x 可以是小数可以是小
20、数l pause off 屏蔽程序中所有屏蔽程序中所有 pause 的作用的作用l pause on 打开打开 pause 的作用的作用l 程序暂停程序暂停l 返回返回/退出退出l 退出退出正在运行的脚本或函数,通常用在函数文件中正在运行的脚本或函数,通常用在函数文件中return 38首先由计算机随机产生一个首先由计算机随机产生一个 1,100 之间的一个整数,之间的一个整数,然后由用户猜测所产生的这个数。然后由用户猜测所产生的这个数。根据用户猜测的情况给出不同的提示,如果猜测的数大于根据用户猜测的情况给出不同的提示,如果猜测的数大于产生的数,则显示产生的数,则显示 Higher,小于则显示
21、小于则显示 Lower,等于则等于则显示显示 You won!同时退出游戏。用户最多有同时退出游戏。用户最多有 7 次机会次机会编程示例编程示例猜数游戏猜数游戏例:例: ex4for.mrandi(T,m,n)randi(T,n)产生产生 1T 间满足均匀分布的随机间满足均匀分布的随机整数整数矩阵矩阵m=n 时简写为时简写为 randi(T,n)39上机作业上机作业1、已知程序:、已知程序:2、已知、已知 sin(x) 的幂级数展开公式为的幂级数展开公式为357911sin( )3!5!7!9!11!xxxxxxx 试利用该公式计算试利用该公式计算 sin( /2)和和 sin(31 /2)
22、的值(直到级数某项的绝对值的值(直到级数某项的绝对值小于小于 10-16 为止),并与为止),并与 Matlab 自带的自带的 sin 函数比较,误差分别多大?函数比较,误差分别多大?为什么?为什么?(程序取名(程序取名 m52.m)(在程序中将最后两个值输出来,程序取名(在程序中将最后两个值输出来,程序取名 m51.m 中)中)试说明程序运行结束后,最后得到的试说明程序运行结束后,最后得到的 x 和倒数第二个和倒数第二个 x 值分别为多少?值分别为多少?若将程序改为下面的语句,结果又如何?若将程序改为下面的语句,结果又如何? x=1; while (x+xx), x=2*x; endx=1; while (x+xx), x=x/2; end40上机作业上机作业3、用、用 while 循环实现猜数游戏循环实现猜数游戏 (程序取名(程序取名 m53.m)从键盘输入一个大于从键盘输入一个大于 1 的整数,然后求出不超过这个整数的最大素数。的整数,然后求出不超过这个整数的最大素数。(要求使用(要求使用 for 循环和循环和 if 语句,可以使用语句,可以使用 isprime 函数)函数)5、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 巴州若羌县楼兰全民健身中心建设项目水土保持报告表
- 某化工企业环保操作规则
- 某化工厂安全执行办法
- 某汽配厂物料管理准则
- 危废泄漏演习时间记录表
- 2026滨州护理面试题库及答案
- 2026变电专业面试题及答案
- 2025年再生PET塑料瓶片质量控制
- 危大工程旁站记录
- 小学二年级下册数学表达知识点巩固试卷
- 2026年部编版语文五年级下册期末考试真题及答案(共3份)
- 新组建部门工作方案
- 乡镇孕产妇管理奖惩制度
- 第四届山东省人工智能融合创新职业技能竞赛(人工智能训练师)试题库(含答案)
- 五年(2021-2025)中考数学真题分类汇编(安徽专用)17:几何压轴题(学生版)
- GB/T 26071-2026太阳能电池用硅单晶及硅单晶片
- 树仔菜种植技术
- 南通市中考英语真题精解2024
- 法务风险防控操作指南(标准版)
- 三年(2023-2025)辽宁中考英语真题分类汇编:专题07 任务型阅读(解析版)
- 中国农业大学强基计划真题笔试
评论
0/150
提交评论