MATLAB 程序设计 M文件建立
实验三_M_文件及_MATLAB_程序设计与调试
实验三M 文件及MATLAB 程序设计与调试一、实验目的全面掌握在MA TLAB 下进行程序设计的有关问题,具体涉及到M 脚本文件和M 函数文件的编写、全局和局部变量的使用、流程控制结构、提高程序执行效率的设计技术、程序调试等问题。
二、实验内容1、关于M 脚本文件和M 函数文件MATLAB 的M 文件有两类:脚本文件和函数文件。
(1)脚本文件——将原本要在MATLAB 的指令窗口中直接输入的语句,放在一个以.m 为后缀的,称为脚本文件中。
有了脚本文件,可直接在MATLAB 中输入脚本文件名(不含后缀)。
MATLAB 会打开这一脚本文件,并依次执行脚本文件中的每一条语句,这与在MATLAB 中直接输入语句的结果完全一致。
(2)函数文件——它的第一行必须是函数定义行。
M 函数文件由5 部分构成:◆函数定义行◆H1 行◆函数帮助文本◆函数体◆注释注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。
但作为一个函数,为了提高函数的可用性,应加上H1 行和函数帮助文本,为了提高函数的可读性,应加上适当的注释。
例如:function y = mean(x)% MEAN Average or mean value.% For vectors, MEAN(X) is the mean value of the elements in X.% For matrices, MEAN(X) is a row vector containing the mean value of each column.[m,n]=size(x);if m==1% Determine whether x is a vectorm=n;endy = sum(x)/m;①函数定义行:function y = mean(x)function 为函数定义的关键字,mean 为函数名,y 为输出变量,x 为输入变量当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。
MATLAB-程序设计-M文件建立
1、先建立函数M文件fun2.m来定义函数f(x) function f=fun2(x) 1 else if x<=0
f=x^3 else
f=2*x end end
2、再在MATLAB命令窗口输入fun2(2),fun2(0.5), fun2(-1)即可.
MATLAB入门
程序设计
M文件
MATLAB的内部函数是有限的,有时为了研究 某一个函数的各种性态,需要为MATLAB定义新函 数,为此必须编写函数文件. 函数文件是文件名后 缀为M的文件,这类文件的第一行必须是一特殊字 符function开始,格式为:
function 因变量名=函数名(自变量名) 函数值的获得必须通过具体的运算实现,并赋 给因变量.
2x x 1
1、编写函数M文件 function f=fun1(x) if x>1
f=x^2+1 end if x<=1
f=2*x end
2、在MATLAB命令窗口输入fun1(2),fun1(-1)即可.
2) 有两个选择的一般形式是: if (expression1) {commands1} else {commands2} end
例: 设银行年利率为11.25%.将10000元钱存入银行, 问多长时间会连本带利翻一番?
money=10000; years=0; while money<20000
years=years+1; money=money*(1+11.25/100); end years money
运行结果:
years =7 money = 2.1091e+004
3. if-else-end结构
(1)有一个选择的一般形式是: if (expression) {commands} end
M文件和程序设计
程序控制指令
➢while循环 while expression
commands end 【说明】 先判断表达式expression的值,如果其值为真,则执行 commands循环体; 执行完循环体后,继续判断表达式expression的值,直到表达式expression 的值为假,结束循环。while循环通常用在循环次数未知的情况下,而且要 在循环体修改循环表达式的值,否则容易造成死循环。
程序控制指令
➢keyboard
从键盘读入多个Matlab指令,直到用户输入return指令才返回。
➢yesinput
v=yesinput('Prompt', default, posible)
【说明】
Prompt是显示在屏幕上的提示信息;default是缺省值,即如果没有键
盘输入时变量v赋值为default;posible是变量v可能接受的值。
令文件和函数文件
五、有关工作空间
1. 工作空间 有了函数文件后,工组空间会变得复杂起来。Matlab将工作空间分成2类:
>> s=Addn(3) s=
6 >> help Addn 计算 1+2+…+n 输入变量:n 累加数值 输出变量:f 计算结果
令文件和函数文件
四、函数的输入变量和输出变量
1. 输入变量和输出变量的检测
n = nargin
用于函数内,返回实际输入变量的个数
n = nargin('fun')
获取fun函数的声明的输入变量个数
warning('message')
显示警告信息message,程序继续运行
lastwarn
MATLAB程序设计M文件程序控制结构程序调试程序举例
y=input('Please input y=:');
[rho,the]=tran(x,y);
rho
the MATLAB中,函数能够嵌套调用,即一种函数能够调用别旳函数, 甚至调用它本身。一种函数调用它本身称为函数旳递归调用。
例6 分别建立命令文件和函数文件,将华氏温度f转换为 摄氏温度c。
21.1111
x=
21.1111
(5). 函数文件旳其他有关概念
①局部变量和全局变量:
局部变量只存在于单个函数工作空间,全局变量 经过global定义,可穿行于不同函数工作空间, 涉及基本工作空间workspace。
函数文件旳内部变量是局部旳,与其他函数 及MATLAB内存相互隔离; 而假如在若干函数中把某一变量定义为全局 变量,那么这些函数将公用这个变量,全局 变量旳作用域是整个MATLAB旳工作区,即 全程有效,全部函数都能够对其存取和修改。
if (nargin == 1) tol = max(size(x)) * max(s) * eps;
程序部分
end
r = sum(s > tol);
(2)命令m文件建立及其运营
建立 涉及下列环节: 进入m文件编辑器 输入程序 定义文件名,保存程序
命令M文件旳运营方式: 直接在命令窗口输入该文件旳文件名 在m文件编辑器中打开该文件后点击工具条中
② M文件模式
将matlab语句构成旳程序存储成以m为扩展名 旳文件,然后再执行该程序文件,这种工作模式 称为程序文件模式。
程序文件不能在命令窗口下建立,因为命令窗口 只允许一次执行一行上旳一种或几种语句。
第7章 MATLAB程序设计和m文件
•While 循环的次数是不确定的。 循环的次数是不确定的。
第7章 MATLAB程序设计和m文件
7.2 MATLAB控制流 7.2.3 for循环和while循环 例:创建Hilbert矩阵 (1)直接循环计算 clear tic 。 K=1000; for m = 1:K for n = 1:K A1(m,n) = 1/(m+n -1); end end t1=toc 预先配置矩阵空间可显著提高运行效率!
第7章 MATLAB程序设计和m文件
7.2 MATLAB控制流 7.2.3 for循环和while循环 例:while循环,求解n!达到100位数的第一个n是多少。 n=1; while prod(1:n)<1e100 。 n=n+1; end n
第7章 MATLAB程序设计和m文件
7.2 MATLAB控制流
,编写能对任意一组输
入x值求相应y值的程序
• • • • • • • • • • • x=[-2,-1.2,-0.4,0.8,1,6] n=length(x); for k=1:n if x(k)<-1 y(k)=x(k); elseif x(k)>=1 y(k)=exp(1-x(k)); else y(k)=x(k)^3; end end %输入,可变 输入, 输入
7.2.4 控制程序流常用指令 指令及使用格式 v=input('message') v=input('message','s') keyboard break 使 用 说 明 该指令执行时,“控制权”交给键盘;待输入结 束,按下Enter键,“控制权”交还MATLAB。 message是提示用的字符串。 遇到keyboard时,将“控制权”交给键盘,用户 可以从键盘输入各种MATLAB指令。 break指令,或导致包含该指令的while、for 循环 终止,或在if - end, switch - case, try – catch中导 致中断。 跳过位于它之后的循环体中其他指令,而执行循 环的下一个迭代。 第一种格式使程序暂停执行,等待用户按任意键 继续; 第二种格式使程序暂停n秒后,再继续执行。
matlab教程m文件介绍
一、matlab的工作模式
指令驱动模式
通常matlab以指令驱动模式工作,即在 matlab 窗口下当用户输入单行指令时,matlab 立即处理这条指令,并显示结果,这就是 matlab命令行方式。 命令行操作时,matlab窗口只允许一次执行 一行上的一个或几个语句。
命令行方式程序可读性差,而且不能存储, 对于复杂的问题,应编写成能存储的程序文 件。
m文件模式
将matlab语句构成的程序存储成以m为扩展名 的文件,然后再执行该程序文件,这种工作 模式称为程序文件模式。 程序文件不能在指令窗口下建立,因为指令 窗口只允许一次执行一行上的一个或几个语 句。
二、m文件的创建
?echo指令用来控制m文件在执行过程中是否显示echoon打开所有命令文件的显示方式echooff关闭所有命令文件的显示方式echo在以上两者间切换?input提示用户从键盘输入数值字符串表达式
matlab的程序设计
—— matlab语言编程, 程序简洁、可读性很强 而且调试十分容易。
m文件简介
(3). 分支结构——根据一定条件来执行的各条语 句。 if — else — end语句有3种形式 1 if 表达式 执行语句 end 2 if 表达式 ——— 是 语句1 else ———— 否 语句2 end
3 if
表达式1 ——— 多分支 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 · · · else 语句n end
(3). 函数m文件— 需要输入变量,返回输出变量
matlab-M文件
MATLAB
② M文件程序执行方式
将matlab语句构成的程序存储成以m为扩展名的文件,
然后再执行该程序文件,这种工作模式称为程序文件模 式。
程序文件不能在命令窗口下建立,因为命令窗口只允许
一次执行一行上的一个或几个语句。
特点:1)和Basic一样是解释性的语言,语法简单、易调试;
2)和其他语言相比初始运行速度慢,但M文件一经运行便 以代码存放在内存中,再次运行时,将直接从内存中取出运行, 大大提高速度; 3)M文件扩展了MATLAB的能力,包含一系列工具箱,如: 自动控制、信号处理、小波分析等。
MATLAB
2.M文件的创建和打开
m文件的类型是普通的文本文件,可以使用 系统认可的文本文件编辑器来创建m文件。 如:windows的记事本和word等。 用matlab自带的编辑器来创建m文件。(建 议使用)。 单击桌面图标 ,在命令窗输入指令edit,都 可以打开空白的M文件编辑器。
MATLAB
+ +
MATLAB
M函数参数的调用
1)函数调用 完整函数调用的命令格式:
[输出参数1,输出参数2,…]=函数名(输入参数1,输入参数2) 当函数的输出形参多于1个时,应用方括号,参数之间用逗 号隔开:function [a,b]=mfile(x,y);当函数无输出参数时, 输出参数项应为空,或者用空的中括号表示: function mfile(x,y) 或者function [ ]=mfile(x,y);
matlabm文件程序执行方式将matlab语句构成的程序存储成以m为扩展名的文件然后再执行该程序文件这种工作模式称为程序文件模程序文件不能在命令窗口下建立因为命令窗口只允许一次执行一行上的一个或几个语句
MATLAB程序设计实验指导书
MATLAB程序设计实验指导书MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。
作为强大的科学计算平台,它几乎能满足所有的计算需求。
在美国及其他发达国家的理工科院校里,MATLAB已经作为一门必修的课程;在科研院所、大型公司或企业的工程计算部门,MATLAB也是最普遍的计算工具之一。
有鉴于此,我院开设了《MATLAB程序设计》这门课程,它需要一定的理论基础,同时又具有很强的实践性。
如何加强理论课程的学习、加深学生对本课程中的基本理论知识及基本方法的理解,如何培养学生实践动手能力是教学的当务之急。
而MATLAB程序设计实验课程就是一种重要的教学手段和途径。
实验将MATLAB程序设计的基本方法灵活地运用在数学、电路等课程中,重点突出,内容丰富。
同时,注重理论分析与实际动手相结合,以理论指导实践,以实践验证基本原理,旨在提高学生分析问题、解决问题的能力及动手能力,使学生进一步巩固基本理论知识,建立比较全面的MATLAB程序设计的概念。
实验注意事项1、实验系统接通电源前请确保电源插座接地良好。
2、完成实验后请确保关闭电脑电源及插座电源。
实验一 矩阵及其运算一、实验目的1、熟悉MATLAB 工作环境2、掌握矩阵和数组的创建、寻访和运算 二、实验内容验证欧姆定律:iur ,其中i u r , ,分别是电阻(欧姆)、电压(伏特)、电流(安培)。
已知u=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41],i=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345]。
三、实验器材PC 机 (装有 MA TLAB 软件 ) 1台 四、实验原理 4.1 Desktop 简介MATLAB R2006a 版的Desktop 操作桌面,是一个高度集成的MATLAB 工作界面。
第八周+农业模型(matlab程序设计)
case -1 disp('I a m a teacher.');
case 0 disp('I a m a student.');
case 1 disp('You are a teacher.');
otherwise disp('You are a student.');
运行: 请输入三角形的三条边:[3 4 5]
三.程序设计 (一)选择结构 【例5】 输入一个字符,若为大写字母,则输出其后继字符,若为小写字母,则
输出其前导字符,若为其他字符则原样输出。
c=input(‘输入一个字母','s'); ifc>='A' & c<='Z' disp(setstr(abs(c)+1)); elseif c>='a'& c<='z' disp(setstr(abs(c)-1)); else disp(c); end
一. M文件
一. M文件 2.命令文件 将需要运行的命令编辑到一个命令文件中,然后在MATLAB命令窗口输入 该命令文件的名字,就会顺序执行命令文件中的命令。 【例1】 建立一个命令文件将变量a,b的值互换。 test.m文件: a=1:9; b=[11,12,13;14,15,16;17,18,19]; c=a;a=b;b=c; a b
三.程序设计
(一)选择结构
【例4】 输入三角形的三条边,求面积。
A=input('请输入三角形的三条边:'); ifA(1)+A(2)>A(3) & A(1)+A(3)>A(2) & A(2)+A(3)>A(1) p=(A(1)+A(2)+A(3))/2; s=sqrt(p*(p-A(1))*(p-A(2))*(p-A(3))); disp(s); else disp('不能构成一个三角形。') end
matlab 程序设计
【例5.8】用try... catch... end结构来进行矩阵相乘运算. 例
% EX0508 try结构 n=4; a=magic(n); m=3; b=eye(3); try c=a*b catch c=a(1:m,1:m)*b end lasterr
5.2.6 流程控制语句
break, continue, return, pause, keyboard, input 1. break命令 命令 break命令可以使包含break的最内层的for或while 语句强制终止,立即跳出该结构,执行end后面的命令, break命令一般和if结构结合使用.
5.2.4 switch…case开关结构
语法: switch 开关表达式 case 表达式 表达式1 语句段1 语句段 case表达式2 case表达式2 表达式 语句段2 语句段 ... otherwise 语句段n 语句段 end
说明: (1) 将开关表达式依次与case后面的表达式进行比较,如 果表达式1不满足,则与下一个表达式2比较,如果都不 满足则执行otherwise后面的语句段n;一旦开关表达式 与某个表达式相等,则执行其后面的语句段. (2) 开关表达式只能是标量或字符串. (3) case后面的表达式可以是标量,字符串或元胞数组, 如果是元胞数组则将开关表达式与元胞数组的所有元素 进行比较,只要某个元素与开关表达式相等,就执行其 后的语句段.
(2) 将函数文件保存为"Ex0502.m". (3) 在MATLAB命令窗口输入以下命令,则会出现f的计算值 注意: 注意:M脚本文件和M函数文件的文件名及函数名的命名规 和绘制的曲线:f=Ex0502(0.3) 则与MATLAB变量的命名规则相同.
《MATLAB程序设计》实验指导书
三、
实验仪器和设备
1、 计算机一台。 2、 MATLAB7.0 以上集成环境。
四、
预习要求
2
《MATLAB 程序设计》实验指导书
1、 复习 MATLAB 的启动与Байду номын сангаас出,熟悉 MATLAB 运行环境。 2、 复习 MATLAB 中矩阵的生成以及矩阵运算的基本原理。
五、
实验内容及步骤
实验内容:
1、 求下列表达式的值 1) z1
5
《MATLAB 程序设计》实验指导书
2) 函数调用 函数文件编制好后,就可调用函数进行计算了。函数调用的一般格式为 [输出实参表]=函数名(输入实参表) 注意:函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个 数一致,否则会出错。函数调用时,实参先传递给形参,然后再执行函数功能。 5、 选择结构 1) if 语句 a) 单分支 if 语句 if 条件 语句块 end b) 双分支 if 语句 if 条件 语句块 1 else 语句块 2 end c) 多分支 if 语句 if 条件 1 语句块 1 elseif 条件 2 语句块 2 …… elseif 条件 n 语句块 n else 语句块 n+1 end 2) switch 语句 switch 表达式 case 结果表 1 语句块 1 case 结果表 2 语句块 2 ……
二、
实验原理
1、 M 文件 用 MATLAB 语言编写的程序,称为 M 文件,它们的扩展名均为.m。M 文件根据 调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file) 。 2、 建立新的 M 文件 启动 MATLAB 文本编辑器有 3 种方法: 1) 单击工具栏上的“New M-File”命令按钮。 2) 从 MATLAB 主窗口的“File”菜单中选择“New”菜单项,再选择“M-file”命令。 3) 在 MATLAB 命令窗口输入命令“edit”。 3、 打开已有的 M 文件 1) 在当前目录窗口选中要打开的 M 文件,双击鼠标左键。 2) 单击 MATLAB 主窗口工具栏上的“Open File”命令按钮,再从弹出的对话框中 选择所需打开的 M 文件。 3) 从 MATLAB 主窗口的“File”菜单中选择“Open”命令,在“Open”对话框中选中 所需打开的文件。 4) 在 MATLAB 命令窗口输入命令“edit 文件名” 。 4、 函数文件 1) 函数文件的基本结构 函数文件由 function 语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意:函数名的命名规则与变量名相同。当输出形参多于一个时,应用方括号 括起来。
第3章MATLAB程序设计3.1 M文件3.2 程序控制结构3.3 函数文...
例3-3 求一元二次方程ax2 +bx+c=0 的根。
程序如下: a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);
2.数据的输出
MATLAB提供的命令窗口输出函 数主要有disp函数,其调用格式为 disp(输出项) 其中输出项既可以为字符串,也可 以为矩阵。
例3-2 输入x,y的值,并将它们的 值互换后输出。
程序如下: x=input('Input x please.'); y=input('Input y please.'); z=x; x=y; y=z; disp(x); disp(y);
程序如下: A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12]; try C=A*B; catch C=A.*B; end C lasterr %显示出错原因
3.2.3 循环结构
1.for语句 for语句的格式为: for 循环变量=表达式1:表达式2:表达式3 循环体语句 end 其中表达式1的值为循环变量的初值,表达式 2的值为步长,表达式3的值为循环变量的 终值。步长为1时,表达式2之间第一个能 被21整除的整数。
程序如下: for n=100:200 if rem(n,21)~=0 continue end break end n
4.循环的嵌套: 如果一个循环结构的循环体又包括一
第4章MATLAB程序设计
例 求一个值n,使n!最大但小于1050。 MATLAB程序如下: %初始化 r=1;k=1; 执行后结果如下: %做循环 The 41!Is while r<1e50 3.345253e+049 r=r*k; k=k+1; end k=k-1;r=r/k;k=k-1; % 输出结果 disp(['The',num2str(k),'!is',num2str(r)])
4.2.3 循环结构 for 循环:可完成指定次重复的循环,且在循环开 始之前,就知道代码重复的次数。
while 循环:while语句可完成不定次重复的循 环,与for语句不同,每次循环前要先判断条件 是否满足,再决定循环是否进行。
例 利用rand函数产生10个随机数,然后利用嵌套 for循环进行从小到大排序。
2 1.5 1 0.5 0 150 100 50
然后通过调用函数fun计算出z, 并利用mesh绘制出网格线。 编写的脚本文件如下: % 坐标系准备 x=[0:.02:2]; y=[-2:.02:0]; % 调用函数计算函数值 z=fun(x,y); % 绘图 figure mesh(z)
150 100 50
4.3.2 函数的调用 函数调用的一般格式如下: [输出实参表] = 函数名(输入实参表) 要注意的是,函数调用时各实参出现的顺 序、个数,应与函数定义时形参的顺序、 个数一致,否则会出错。函数调用时,先 将实参传递给相应的形参,从而实现参数 传递,然后再执行函数的功能。
例 对于函数
z ( x 1)2 ( y 1)2
fprintf函数中,format字符中常常会使用到一些特 殊字符来灵活的实现一些显示功能 format string 结果 %d %e %f %g 把值作为整数来处理 用科学记数法来显示数据 用于格式化浮点数,并显示这个 数 用科学记数格式,或浮点数格式, 根据那个表示的数位短,显示那 个 转到新的一行
matlab M文件的建立与调试
三、m文件的分类
可以存取的M文件— 称命令文件(程序文件、脚本文件)
可调用M文件 — 称函数(function)文件
1、程序文件 以.m格式进行存取,包含一连串的MATLAB指令和 必要的注解。与在命令窗口逐行执行文件中的所有指 令,其结果是一样的。没有输入输出参数。 程序运行时只需在命令窗口中键入其名称即可
第二章
2.1 变量与赋值 2.2矩阵的初等运算 2.3元素群运算
基本语法
2.4逻辑判断及流程控制 2.5基本绘图方法 2.6M文件及程序调试
2.6 M文件及程序调试
一、M文件简介
• 用户如想灵活应用matlab去解决实际问题,充分 调用matlab的科学技术资源,就需要编辑m文件 • 包含matlab语言代码的文件称为m文件,其扩展名 为m。
• keyboard —
当keyboard在m文件中出现时,它停止 文件的执行并控制键盘,用于修改程序。
a=input('a=');
pause(2) b=input('b=');
A='press any key to continue..'; disp(A) pause c=input('c='); keyboard d=b*b-4*a*c; disp(A) pause x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]
主要特征: (1)、用clear,close all等语句开始,清除工作空间原有的 变量与图形,以避免其它已执行的程序残留数据对本程序 的影响。 (2)、前几行通常是对此程序的说明。这些注释行必须以 % 开始,以便计算机执行时不予理会。(注释部分) (3)、程序的主体 如果程序中有全局变量,即在主程序与主程序中共有 的变量,应在程序中的起始部分注明。语句为: global 变量名 (4)、整个程序按Matlab 标示符的要求其文件名,并加 上.m后缀。
实验4答案 Matlab程序设计1
实验4 Matlab 程序设计1实验目的:1、 掌握建立和执行M 文件的方法;2、 掌握实现选择结构的方法;3、 掌握实现循环结构的方法。
实验内容:1. 从键盘输入一个4位整数,按如下规则加密后输出。
加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。
a = input('请输入一个四位整数:');a1 = fix(a/1000);a2 = rem(fix(a/100),10);a3 = rem(rem(fix(a/10),100),10);a4 = rem(a,10);a1 = rem(a1+7,10)a2 = rem(a2+7,10)a3 = rem(a3+7,10)a4 = rem(a4+7,10)b1 = a1;a1 = a3;a3 = b1;b2 = a2;a2 = a4;a4 = b2;b = a1*1000+a2*100+a3*10+a42. 求分段函数的值。
,x x x x y x x x x x x x ⎧+- <≠-⎪=-+ ≤<≠≠⎨⎪-- ⎩2226035605231且且及其他用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。
x = input(请输入X 的值:');if x <0 & x~=-3y = x.*x +x-6;elseif x>=0 & x<5 & x~=2 & x~=3y = x.*x-5*x+6;elsey = x.*x-x-1;endy3.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:(1)分别用if语句和swich语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
MATLAB
>> disp (b)
第2章 MATLAB编程基础
例4.3 求一元二次方程ax2 +bx+c=0的根。
程序如下:
a=input('a=?');
b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a), (-b-sqrt(d))/(2*a)]
第2章 MATLAB编程基础
作业
作业上交格式:所有程序放在一个文件夹下, 文件夹压缩后命名格式:班级+学号+姓名(如:12 电气X1+120514503+孙大贺)发送到
21420322@
第2章 MATLAB编程基础
1、用MATLAB语言实现下面的分段函数:
ቤተ መጻሕፍቲ ባይዱ 第2章 MATLAB编程基础
第2章 MATLAB编程基础
例4.11 矩阵乘法运算要求两矩阵的维数相容,否则会 出错。先求两矩阵的乘积,若出错,则自动转去求 两矩阵的点乘。 A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12]; try C=A*B; catch C=A.*B; end C lasterr %显示出错原因
(3)命令按钮操作:单击MATLAB命令窗口工具栏上的
“新建”命令按钮。 2. 编辑已有的M文件
第2章 MATLAB编程基础
例4.1 建立一个命令文件将变量a,b的值互换,然后运行 该命令文件。 首先建立命令文件并以文件名exch.m存盘: clear all; a=1:10; b=[11,12,13,14;15,16,17,18]; c=a;a=b;b=c; a b 然后在MATLAB的命令窗口中输入exch,将会执行该 命令文件。 >>exch
《Matlab程序设计》课程教学大纲
Matlab程序设计Matlab Program Design一、课程基本情况课程类别:专业任选课课程学分:2学分课程总学时:32学时,其中讲课:24学时,实验(含上机):8学时课程性质:选修开课学期:第4学期先修课程:计算机基础,高等数学,线形代数适用专业:电子科学与技术教材:MATLAB程序设计教程,中国水利水电出版社,刘卫国,2010,第2版开课单位:电子与信息工程学院电子科学与技术系二、课程性质、教学目标和任务MATLAB程序设计是电子与电气信息类相关专业的专业任选课程之一。
MATLAB是由MathWorks 公司1985 年推出的一种面向科学与工程的计算软件,它具有极强的数值计算、图形文字处理、数据分析、动态仿真、信号处理等功能,涉及了数值分析、自动控制、信号处理、图像处理等十几个领域的计算和图形显示,功能强大。
因此,将MATLAB引入教学,强化应用能力培养,学生在学习专业基础课程时,增加工程应用背景,在打好专业基础的同时,提高学生的应用、创新意识。
通过本课程的学习,使学生学习和掌握如何利用MATLAB对所学理论、原理和方法进行计算机仿真,通过仿真,加深对所学知识的理解和掌握,解决学习相关课程中遇到的抽象问题,为后续专业课程的学习奠定基础。
通过工程软件在电气类专业基础课程的应用,提高学生动手能力、分析问题与解决问题的能力,到达对学生的工程意识培养的目的。
三、教学内容和要求第1章MATLAB系统环境(2学时)(1 )了解MATLAB的影响及其开展历史和MATLAB 7.0的主要功能;(2)理解MATLAB 7.0的运行环境与安装过程,熟悉菜单栏、工具栏的使用;( 3)掌握命令窗口、历史记录窗口、当前目录窗口的使用方法;重点:命令窗口、历史记录窗口、当前目录窗口的使用方法;难点:MATLAB 7.0的辅助局部和MATLAB的数学函数库。
第2章MATLAB数据及其运算(2学时)(1 )了解元胞数组、结构与结构数组;( 2)理解一、二维数组的创立方法;( 3)掌握数值表示、变量表达式、矩阵的表示、字符串矩阵的算术运算、数组运算;重点:矩阵线性运算;创立数组、数组的算术运算;难点:数组运算。
Matlab中M-文件介绍
02
03
运行M-文件
查看运行结果
在Matlab命令窗口中输入文件名, 然后按Enter键,即可打开指定 的M-文件。
在打开的M-文件中,按下F5键 或选择"Run"菜单中的"Run"选项, 即可运行当前M-文件。
M-文件的运行结果将在Matlab 命令窗口中显示。
调试M-文件
设置断点
在需要调试的代码行左侧单击,即可 在该行设置断点。
调试技巧
使用Matlab调试器
Matlab提供了一个功能强大的调试器,可以帮 助用户更好地理解代码的执行过程。
逐步执行代码
逐步执行代码可以帮助用户更好地理解代码的 逻辑和执行过程。
检查变量值
在调试过程中,检查变量的值可以帮助用户更好地理解代码的逻辑和执行过程。
5
M-文件的高级应用
函数封装
函数封装
开始调试
在设置断点的代码行上按下F10键或 选择"Debug"菜单中的"Step Over" 选项,即可开始调试。
单步执行
在调试过程中,按下F10键或选择 "Debug"菜单中的"Step Over"选项, 可以逐行执行代码。
观察变量值
在调试过程中,可以随时查看变量的 值,以便更好地理解代码的执行过程。
信号处理和图像处理
Matlab具有强大的信号处理和 图像处理工具箱,广泛应用于 通信、雷达和医学成像等领域
。
02
M-文件基础
M-文件的定义
总结词
M-文件是Matlab中用于编写和存储Matlab代码的文件。
详细描述
M-文件是Matlab中用于编写和存储Matlab代码的文件,通常以.m为扩展名。 它可以是脚本文件或函数文件,用于执行一系列Matlab命令或定义可重复使用 的函数。
M文件及函数的编写
使用tic和toc函数, 测试一下该函数的运行效率。 显式程序运行的时间。
tic; num=my_fact 500 ; toc
tic; num=prod 1:1000 ; toc
M文件及函数的编写
函数编写注意事项:
➢函数的函数名与存储名要一致。 ➢函数名首字符必须为字母。其后可为字 母数字下划线等。长度小于31个字符。
M文件及函数的编写
例4 检测掷一次骰子所得的点数是单数还是双数:
... 前面可能有一些语句
switch result
case{1,3,5}
disp ‘odd numbers’ case{2,4,6}
disp ‘even numbers’ otherwise
disp ‘ mistake ’ end
M文件及函数的编写
1.写好程序,存成my_fact.m文件
function k=my_fact n if n>1
k=n*my_fact n-1 ; elseif n==0|n==1
k=1; else
error ' U input a wrong parameter ' end 2.在mand window中调用:num=my_fact 11
例 5 若最大值不为 10000,需修改程序对 m 和 10000 值的设置,不适合于M-script.
M文件及函数的编写
1 MATLAB 语言的函数的基本结构
1 函数定义行 关键字function function out1,out2,.. =funcname in1,in2,..
注释段
输入返回变量的检测
第二讲 M文件及函数的编写
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计
1
M文件
MATLAB的内部函数是有限的,有时为了研 究某一个函数的各种性态,需要为MATLAB定义新函 数,为此必须编写函数文件. 函数文件是文件名后 缀为M的文件,这类文件的第一行必须是一特殊字 符function开始,格式为:
function 因变量名=函数名(自变量 名)
x0
1、先建立函数M文件fun2.m来定义函数f(x)
function f=fun2(x) if x>1
f=x^2+1 else if x<=0
f=x^3 else
f=2*x end end
2、再在MATLAB命令窗口输入fun2(2),fun2(0.5), fun2(-1)即可.
13
else if (expression3) {commands3}
else if …… ………………………………… else {commands} end end end ……
end
12
x2 1 x 1
例 设 f (x) 2x 0 x 1, 求f (2), f (0.5), f (1)
x
3
else {commands2}
end
例
设f
(
x)
x2
1
x 1 ,
求f (2), f (1)
2x x 1
function f=fun1(x)
if x>1
f=x^2+1
else
f=2*x
end
11
3) 有三个或更多的选择的一般形式是: if (expression1) {commands1}
else if (expression2) {commands2}
只要在表达式(expression)里的所有元素为真 , 就执行while和end语句之间的命令串{commands}.
7
例: 设银行年利率为11.25%.将10000元钱存入银 行,问多长时间会连本带利翻一番?
money=10000; years=0; while money<20000
years=years+1; money=money*(1+11.25/100) ; end years money
运行结果:
years =7 money = 2.1091e+004
8
3. if-else-end结构
(1)有一个选择的一般形式是: if (expression)
{commands} end
如果表达式(expression)里的所有元素为真 ,就执行if和end语句之间的命令串{commands}. 否则,就跳出该结构。
函数值的获得必须通过具体的运算实现, 并赋给因变量.
2
M文件建立方法:
1. 在MATLAB中,点:File→New → M-file 2. 在编辑窗口中输入程序内容 3. 点File → Save,存盘,M文件名必须与函数名一致.
3
例:定义函数 f(x1, x2)=100(x2-x12)2+(1-x1)2
. 这些结构经常包含大量的MATLAB命令,故经常出现
在MATLAB程序(M文件)中,而不是直接加在MATLAB 提示符下.
1. for循环:
for x=1:n {commands} end
5
例
对n=1,2,…,10,求xn=
sin
n
10
的值.
for n=1:10 x(n)=sin(n*pi/10);
9
例
设f
(x)
x2
1
x 1 ,
求f (2), f (1)
2x x 1
1、编写函数M文件 function f=fun1(x) if x>1
f=x^2+1 end if x<=1
f=2*x end
2、在MATLAB命令窗口输入fun1(2),fun: if (expression1) {commands1}
1.建立M文件:fun.m function f=fun(x) f=100*(x(2)-x(1)^2)^2+(1-x(1))^2
2. 可以直接使用函数fun.m
例如:计算 f(1,2), 只需在MATLAB命令窗口键入命令:
x=[1 2] fun(x)
4
控制流
MATLAB提供三种决策或控制流结构: for循环、while循环、if-else-end结构
end x
输出:
0.9511 0.3090
x= 0.3090
1.0000 0.9511
0.0000
0.5878 0.8090
0.8090 0.5878
6
2. While循环
环以
与for循环以固定次数求一组命令相反,while循
不定的次数求一组语句的值.
while (expression) {commands} end