第一范文网 - 专业文章范例文档资料分享平台

matlab4

来源:用户分享 时间:2025/8/21 23:11:58 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

新疆大学重点课程·电子教案 17 页 共 41 页

调用 tran.m 的命令文件 main1.m: x=input('Please input x=:'); y=input('Please input y=:'); [rho,the]=tran(x,y); rho the

例 利用函数的递归调用,求 n!。 递归调用函数文件 factor.m: function f=factor(n) if n<=1 f=1; else

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

在 命 令 文 件 main2.m 中 调 用 函 数 文 件 factor.m 求s=1!+2!+3!+4!+5!。

当在 Matlab 命令行或其他 M 文件调用函数时,应当包括所有必须 的参数。

在 Matlab 中遇到一个新名字时,在把它解释为一个函数之前要进行以下检查工作:

? 检查是否是一个变量的名字;

? 检查是否是一个子函数的名字,子函数在调用函数内部; ? 检查是否是一个私有函数;

? 检查是否是一个在 Matlab 搜索路径下的函数,如果有几个相同名字的函数,Matlab 将使用第一个。

3、函数所传递参数的可调性(检查输入输出参数的数目) 在调用函数时,MATLAB 用两个永久变量 nargin 和 nargout 分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件 中

新疆大学重点课程·电子教案 18 页 共 41 页

包含这两个变量,就可以准确地知道该函数文件被调用时的输入 输出参数个数,从而决定函数如何进行处理。 n=nargin 返回函数指定的输入参数

n=nargin('fun') 返回指定函数声明的输入参数的数目,如果返回 为-1,表明具有可变数目的输入参数

n=nargout 返回函数指定的输出参数 n=nargout('fun') 返回指定函数声明的输出参数的数目 例 nargin 用法示例。 函数文件 examp.m: function fout=charray(a,b,c) if nargin==1 fout=a; elseif nargin==2 fout=a+b; elseif nargin==3 fout=(a*b*c)/2; end

命令文件 mydemo.m: x=[1:3];y=[1;2;3]; examp(x) examp(x,y') examp(x,y,3)

4、传递可变数目的输入输出参数

varargin 和 varargout 变量可以让函数文件传递任意数量的输入输 出参数,Matlab 将所有指定的输入输出打包成细胞数组,每个细胞(cell)可以包含任意大小和类型的数据。 (1)传递可变数目的输入参数

新疆大学重点课程·电子教案 19 页 共 41 页

例:函数接收任意数量的两单元矢量输入参数,并画一条线来连接它们:

function testvar(varargin) %取出 varargin 中的所有输入值 for i = length(varargin) x(i) = varargin{i}(1);

%第一个下标表示细胞数组的第 i 个 cell, %第二个下标表示指定 cell 的第 1 个成员 y(i)= varargin{i}(2); end

%设定坐标并画 varargin 图 xmin = min(0,min(x)); ymin = min(0,min(y));

axis([xmin fix(max(x)) + 3 ymin fix(max(y)) + 3]) plot(x,y)

这样函数 testvar 就可以处理可变的输入列表,如 testvar([2 3],[1 5],[4 8],[6 5],[4 2],[2 3]) testvar([-1 0],[3 –5],[4 2],[1 1]) (2)传递可变数目的输出参数

要传递任意数量的输出参数,就要把全部输出打包到 varargout 细 胞数组,这里可以用 nargout 来确定调用函数时输出列表中项的数 目。 例:

function [varargout]=mysize(x)

s=size(x); for i=1: nargout varargout(i) = {s(i)};

新疆大学重点课程·电子教案 20 页 共 41 页

end

在命令窗口中输入: [rows,cols]=mysize(rand(4,5)) (3)在参数列表中应用

如果在参数列表中使用 varargin 和 varargout,必须把 varargin 和 varargout 放在参数列表的最后面。在调用函数时,必须指定需要 的参数,使用形式为:

function [out1,out2]=example1(a,b,varargin) function [i,j,varargout]=example2(x1,y1,x2,y2,flag) 例:输入参数列表函数: function myplot(x,varargin) plot(x,varargin{:}) 调用函数:

myplot(sin(0:.1:1),'color',[.5,.7,.3],'linestyle',':') 例:输出参数列表 函数:

function [s,varargout]=mysize(x) nout=max(nargout,1) –1; s=size(x); for i=1: nout

varargout(i) = {s(i)}; end 调用函数:

[s, rows, cols]= mysize(rand(4,5));

5、全局变量和局部变量

全局变量用命令 global 定义。函数文件的内部变量是局部的,与其 他函数文件及 MATLAB 工作空间相互隔离。

搜索更多关于: matlab4 的文档
matlab4.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c22zjn08c8p6trx0166al_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top