我是靠谱客的博主 温柔棉花糖,这篇文章主要介绍matlab利用函数 编程求,MATLAB 函数编写方法与应用,现在分享给大家,希望可以做个参考。

试探结构:

MATLAB 从 5.2

版本开始提供了一种新的试探式语句结构,其一般的形式为:

try

语句段1

catch

语句段2

end

本语句结构首先试探性地执行语句段

1,如果在此段语句执行过程中出现错误,则将错误信息赋给保留的

lasterr 变量,并放弃这段语句,转而执行语句段 2

中的语句。这种新的语句结构是 C

等语言中所没有的。

MATLAB 函数编写方法与应用

所谓 MATLAB 程序,大致分为两类:M

脚本文件 (M-Script) 和 M 函数 (M-function),

它们均是普通的 ASCII 码构成的文件。M

脚本文件中包含一族由 MATLAB

语言所支持的语句,它类似于 DOS

下的批处理文件,它的执行方式很简单,用户只需在

MATLAB 的提示符 >> 下键入该 M

文件的文件名,这样 MATLAB 就会自动执行该 M

文件中的各条语句,并将结果直接返回到 MATLAB

的工作空间。M 函数格式是 MATLAB

程序设计的主流,一般情况下, 不建议您使用 M

脚本文件格式编程。

MATLAB 的 M 函数是由 function

语句引导的,其基本格式如下:

function [返回变量列表] = 函数名

(输入变量列表) 注释说明语句段, 由 % 引导 输入、返回变量格式的检测

函数体语句

这里输入和返回变量的实际个数分别由 nargin 和

nargout 两个 MATLAB

保留变量来给出,只要进入该函数,MATLAB

就将自动生成这两个变量,不论您是否直接使用这两个变量。返回变量如果多于

1

个,则应该用方括号将它们括起来,否则可以省去方括号。输入变量和返回变量之间用逗号来分割。注释语句段的每行语句都应该由百分号

%

引导,百分号后面的内容不执行,只起注释作用。用户采用

help

命令则可以显示出来注释语句段的内容。此外,正规的变量个数检测也是必要的。如果输入或返回变量格式不正确,则应该给出相应的提示。我们将通过下面的例子来演示函数编程的格式与方法。

〖例 3-〗假设我们想生成一个 nxm 阶的 Hilbert

矩阵, 它的第 i 行第 j 列的元素值为

1/(i+j-1)。我们想在编写的函数中实现下面几点:

如果只给出一个输入参数,则会自动生成一个方阵,即令

m=n

在函数中给出合适的帮助信息,包括基本功能、调用方式和参数说明

检测输入和返回变量的个数,如果有错误则给出错误信息

如果调用时不要求返回变量,则将显示结果矩阵。其实在编写程序时养成一个好的习惯,无论对程序设计者还是对程序的维护者、使用者都是大有裨益的。

采用 MATLAB

函数编写格式和上述要求,我们可以编写出一个函数

function A=myhilb(n, m)

%MYHILB a demonstrative M-function.

% A=MYHILB(N, M) generates an N by M Hilbert matrix A.

% A=MYHILB(N) generates an N by N square Hilbert matrix.

% MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return

any

% matrix back to the calling function.

%

%See also: HILB.

% Designed by Professor Dingyu XUE, Northeastern University,

PRC

% 5 April, 1995, Last modified by DYX at 21 March, 2000

if nargout>1, error('Too many output arguments.');

end

if nargin==1, m=n;

elseif nargin==0 | nargin>2

error('Wrong number of iutput arguments.');

end

A1=zeros(n,m);

for i=1: n

for j=1:m

A1(i,j)=1/(i+j-1);

end, end

if nargout==1, A=A1; elseif nargout==0, disp(A1); end

这样规范编写的函数用 help

命令可以显示出其帮助信息:

>> help myhilb

MYHILB a demonstrative M-function.

A=MYHILB(N, M) generates an N by M Hilbert matrix A.

A=MYHILB(N) generates an N by N square Hilbert matrix.

MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return

any

matrix back to the calling function.

See also: HILB.

有了函数之后,可以采用下面的各种方法来调用它,并产生出所需的结果。

>> A=myhilb(3,4)

A =

1.0000 0.5000 0.3333 0.2500

0.5000 0.3333 0.2500 0.2000

0.3333 0.2500 0.2000 0.1667

>> A=myhilb(4)

A =

1.0000 0.5000 0.3333 0.2500

0.5000 0.3333 0.2500 0.2000

0.3333 0.2500 0.2000 0.1667

0.2500 0.2000 0.1667 0.1429

>> myhilb(4)

1.0000 0.5000 0.3333 0.2500

0.5000 0.3333 0.2500 0.2000

0.3333 0.2500 0.2000 0.1667

0.2500 0.2000 0.1667 0.1429

MATLAB 工具箱编写技巧

放入一个目录中的为某种目的专门编写的一组 MATLAB

函数就可以组成一个工具箱。

从某种意义上说,任何一个 MATLAB

语言的使用者都可以是工具箱的作者。在一个工具箱中,应该有一个名为

Contents.m 的文件,用来描述工具箱中所有 MATLAB

函数的名称和意义。在该文件中第 1

行应该给出该工具箱的名称,在第 2

行中给出该工具箱的版本与修改时间等信息。然后分类地给出该工具箱中各类函数的最基本功能。注意,本文件中所有的语句都应该是注释语句,由百分号

% 引导,空行也应该由 % 引导。

另外,因为

MATLAB是一种解释性语言,所以即使在某个或某些函数中存在语法错误,但如果没执行到该语句时可能就不会发现该错误,这在一个成功的程序设计中是不能容许的。要查出某目录中所有的M函数语法错误,首先应该用

cd 命令 进入该目录,然后运行 pcode *

命令进行伪代码转换。因为该命令会将 MATLAB

函数转换成伪代码,而在转换过程中该程序将自动翻译每一条语句,所以一旦发现有语法错误,将会停止翻译,给出错误信息。改正了该语法错误后,再重新执行

pcode

命令,直到没有错误为止。至少这样会保证目录下所有的程序不含有语法错误。

最后

以上就是温柔棉花糖最近收集整理的关于matlab利用函数 编程求,MATLAB 函数编写方法与应用的全部内容,更多相关matlab利用函数内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部