MATLAB课件 第6章、MATLAB程序语句

来源:网络收集 时间:2025-06-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第六章 MATLAB程序语句

6.1 m文件及M函数

在MATLAB命令窗口中,键入一行命令,回车后,系统会立刻执行该命令,这种人机交互的工作方式称为命令行运行模式。当运行的命令较多时,如果采用命令行运行模式,直接从键盘上逐行输入命令显然比较麻烦,并且程序可读性差、难以存储,也不便于及时编辑修改。此时应该采用M程序运行模式。M程序运行模式,是指由MATLAB语句构成程序、以ASCII码文本文件的形式存储、用m作为文件扩展名的MATLAB程序在命令窗口中的自动运行。MATLAB程序可分成M文件和M函数两种,M文件即命令文件(script file),是用户为解决问题自己编制的程序,M函数即函数文件(function file),是一种子程序,一般可由其他程序调用,当然也可调用其他程序。在MATLAB中,有上千个内带的M函数。

6.1.1 M文件

MATLAB向用户提供了一个自主编写程序的环境,用户可以根据自己的需要,灵活运用MATLAB的函数(M函数)或者命令编程。

单击MATLAB主窗口工具条上的New File图标

,就可弹出如图1所示的MATLAB

文件编辑调试器MATLAB Editor/Debugger。其窗口名为untitled ,用户即可在空白窗口中编写程序。

图6.1

例如,输入如下一段程序: t=-10:0.1:10; ft=1/2*sin(t); ft1=ft.*cos(10*t); plot(t,ft,'r') hold on

plot(t,ft1,'g')

写完文件用tu.m文件名保存(save)后,在命令窗口中键入文件名tu,回车后即可显示出运行该文件的结果。

0.50.40.30.20.10-0.1-0.2-0.3-0.4-0.5-10-8-6-4-20246810

图6.2

特别提醒:所保存的m文件一定要放在搜索路径之下。

编写M文件的一般格式是:用clear、clc、clf等语句开头,其目的是为了清除掉工作空间中原有的变量和图形,以免其他已执行过的程序残留数据对本程序的影响;文件名长度一般不要超过8个字符(英文字母、数字和下划线),文件扩展名要用.m,另外,文件名要方便记忆和区分,不要太简单,也不要太复杂。

6.1.2 M 函数

M函数是MATLAB程序的一种形式,可以以函数调用的方式调用。它和M文件之间的差别是:由function开头,后跟的函数名与文件名相同;有输入输出变量,可进行变量传递;除非用global声明,程序中的变量均为局部变量,不保存在工作空间中,而M文件中运行得到的变量将会保存在工作空间中,这点一定要注意。

函数文件的基本结构

函数文件由function语句引导,基本结构如下: function [输出形参表]=函数名(输入形参表) 注释说明部分 函数体部分

其中以function开头的一行为引导行,表示该M文件是一个函数文件,函数名的命名规则和变量名相同,当输出形参多于一个时,应用[]括起来,多个参数之间用逗号分隔。

以下是一个M函数示例。 function [he cha]=hecha(x,y) he=x+y; cha=x-y;

M函数编写完成后,要用M函数名作为文件名来保存文件。实际上,在保存M函数时,对话框出现的默认文件名就是函数名。

【例6.1】:编写函数文件,求半径为r的圆的面积和周长. 在新建窗口下键入如下命令: function [S,L]=yuan(r) S=pi*r*r; L=2*pi*r;

然后保存在搜索路径之下,函数名和文件名都将为yuan.m此时,就像调用MATLAB内带的函数一样去调用它。例如,在命令窗口输入:

>> [s,t]=yuan(3) s = 28.2743 t = 18.8496

此时可以得出,当圆的半径为3时,面积为28.2743,周长为18.8496 【例6.2】编写函数文件,实现直角坐标(x,y)与极坐标(rho,theta)之间的转换. 建立函数文件tran.m

function [rho,theta]=tran(x,y) rho=sqrt(x*x+y*y) theta=atan(y/x)

在matlab中,函数可以嵌套调用,即一个函数可以调用别的函数,甚至调用本身,一个函数调用其自身称为函数的递归调用.

【例6.3】 利用函数的递归调用,求n! function f=digui(n) if n==1 f=1; else

f=digui(n-1)*n; end

编写完后保存在搜索路径之下,即可调用: >> digui(4) ans = 24

即:4*3*2*1=24

在函数的调用时,matlab有两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参.

【例6.4】 nargin用法示例: function fout=shican(a,b,c) if nargin==1 fout=a; elseif nargin==2 fout=a+b; else

fout=(a*b*c)/2; end

编写完后保存在搜索路径之下,即可调用: >> shican(2,4) ans = 6 >> shican(4) ans = 4

>> shican(1,2,3) ans = 3

【例6.5】:自己编写输入变量函数fenzu,用于生成均等分组的数据

function y=fenzu(a,b,n) % 如果缺少n,则令n=b-a

% 函数将a,b之间的数据n等分输出 if nargin==2 n=b-a; end

y=a:(b-a)/n:b; 保存好程序后,调用如下:

>> fenzu(1,10) ans =

1 2 3 4 5 6 7 8 9 10 >> fenzu(1,10,3) ans =

1 4 7 10

6.2 MATLAB语句

MATLAB语句有表达式语句、输入输出语句、控制语句、绘图语句和显示语句等等。表达式语句已经介绍过了,下面将简单介绍其他几个语句。

6.2.1 控制语句 1 for-end循环语句

for-end循环语句的一般格式是:

for 循环变量= 循环参数表达式 end

运算式

for-end循环语句的功能是,循环允许一组命令以固定的和预定的次数重复。

循环参数表达式通常是“标量(循环开始参数):标量(循环终止参数)”或者“标量(循环开始参数):标量(递增或递减参数):标量(循环终止参数)”的形式。 【例6.6】在M程序窗口编写如下程序:

for i=1:11

end

y(i)=sin(i);

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库MATLAB课件 第6章、MATLAB程序语句在线全文阅读。

MATLAB课件 第6章、MATLAB程序语句.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/607513.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219