怎样将将写好的m文件加到matlab m文件库函数中?

MATLAB中如何在M文件中调用自定义函数?
我用matlab学习梯形法求定积分,把要求的函数定义为f1.m function y=f1(x) y=exp(-x*x); 我在另一个M文件ts.m中计算f1在0-1上面的定积分: a=0; b=1; n=1; h=b-a; eps=0.00001; syms x I1=h*(f1(a)+f1(b)); while (n&1000) for k=0:n-1 I=I1/2+h/2*f1(a+k*h+h/2); end if abs(I-I1)&eps break end n=n+n; h=h/2; I1=I; end I 为什么报错?
09-01-14 &
报什么错误?把错误信息贴上来看看。
请登录后再发表评论!Matlab如何调用其他m文件中的函数
我们若可以根据需要建立自己的函数文件,他们能够像库函数一样方便地调用,从而极大地扩展MATLAB地能力.
如果对于一类特殊地问题,建立起来许多函数M文件,就能最终形成独立地工具箱.
1.函数M文件地基本用法
function& 因变量=函数名
(自变量)其它各行为从自变量计算因变量地语句,并最终将结果赋予因变量.
这个M文件地文件名最好是 函数名.mfunction a =
randint (m, n)
&& % RANDINT Randomly generated
integral matrix
&& a = floor (10*rand(m,n))
当需要一个这样地2*3随机矩阵时,只需
&&x=randint(2,3)
&& x= 9 6 8
2.函数M文件有多个因变量
要用[]将他们括起来,请看下例:
function& [mean, stdev] = stat(x)
STAT&& Mean and standard
[m& n] = size(x);
stdev=sqrt(sum(x^2)/m-mean^2)
其用途,如求一个数组X地平均值和均方差,只需:
& &&x= [ 2 4 -7 0 5
[xm.xd]=stat(x)
&&&&xd=3.9476
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。matlab 编写M文件(函数)
我的图书馆
matlab 编写M文件(函数)
& & & & matlab的命令编辑窗口(Command Window)界面主要是用来调用系统命令、调用自定义函数(m文件里定义的函数)或编写一些较小的代码。在遇到需要用到比较多的代码才能摆平的需求时,在命令编辑窗口每一行都有提示输入符号,用起来不是很方便(如前所述而且命令编辑窗口主要是用来调用命令之用),此时我们不得不求助于matlab的m文件来编写代码。所以,记录一下经自行探索其编写方式后的入门过程:
版本:MATLAB & &7.9.0(R2009b)
1.新建m文件
打开matlab软件--&file--&new--&Function m-file
经过此步骤之后,matlab会弹出一个新的编辑窗口,并生成少许代码如下:
[plain] function&[&output_args&]&=&Untitled(&input_args&)&&%UNTITLED&Summary&of&this&function&goes&here&&%&&&Detailed&explanation&goes&here&&&&&&&&&&end&&这些代码是一个m-函数的模板。
function:表示编写的是一个函数。
output_args: 表示编写此函数的返回值(不同于C语言的是需要被返回的值无需使用return语句,只要将outp_args相应的参数拿到代码中赋值即可,同一般变量的使用),各返回值间用逗号隔开。
input_args: 此函数的输入参数,各参数之间用逗号隔开。
Untitled: & 这是您所编写函数时所定义的函数名。注意:函数名和m文件名需要保持一致。如刚所创建的m文件在工作空间时命名为“RungeKuttaCalculate.m”则相应的函数名也需要为“RungeKuttaCalculate”,否则会引起报错。
%: 是matlab的注释语句的注释符,相当于C语言中的行注释符"//",在这里你可以描述此函数的功能,参数含义和返回值含义,使其含义更加明确。
剩余空间:从%到最后面的end部分是编辑代码的空间。end表示此函数编辑完毕。
总结函数文件的基本结构:
function &[ 输出形参表:output1, output1...outptn&]=函数名 [输出函数形参表:input1, input2..., inputn]
& & 注释说明部分
& & 函数体代码部分
在调用函数时要使用编写此函数的文件名,一般函数名和文件名保持一致。函数中遇return语句时,此函数调用结束。函数调用的一般格式是:&[输出实参表]=函数名(输入实参表)在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。
2.编写代码
(1)matlab数据类型
&&Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。()一般在简单应用中用到的整形(用作循环变量)、矩阵、数组较多。
(2)matlab的流程控制语句
& matlab的流程控制语句跟C语言中的语句差不多,只是使用的形式有点不同。在C语言中if, for, while等是使用"}"或者“;”(其中只包含一条语句时)来结束。在matlab中他们使用的形式如下:
& & matlab语句1;
&【 elseif 条件2
& & &matlab语句2;
& & & &.......
& & & matlab语句n;】
end来标识if语句内的matlab语句完结,如果其中有一个逻辑条件为真则执行相应的matlab语句,否则跳过整个if语句内容执行后继语句。
【】内容为可选内容,根据需求而定。但是if....elseif必须匹配。
switch语句
switch 表达式
& &case &表达式1
& & & &matlab语句1
& case &表达式2
& & &matlab语句2
& case 表达式n
& & matlab语句n
&otherwise
& &matlab语句n+1
跟if语句相似,用switch下面的表达式来匹配case表达式中的内容,匹配到哪一个case表达式,相应的matlab语句就会被执行。
& & matlab语句1
& & matlab语句2
& &&try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。这种试探性执行语句是其他高级语言所没有的。
for 循环变量=初始值:步长:终值
& & & 循环体语句
如果初始值在付给循环变量后,循环变量的值介于初始值与终值之间则执行循环体语句,每次执行后循环变量增加步长值,再与终值比较是否小于终值,若还小于终值,则执行循环体语句,若非,则跳出for循环执行后继语句。如此循环直到跳出for循环为止。
while(条件)
& &循环体语句
其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循.
循环嵌套,个循环之间可以嵌套使用。
在m文件的函数编写中,撇开读取文件操作不谈使用基本的流程控制和matlab基本数据类型,再加上调用matlab强大的库函数已经可以做很多事情了,起码做作业没问题了撒,用龙格-库塔解线性方程组时用上面之所列举足矣(加点)。
此次笔记记录完毕。
TA的最新馆藏[转]&
喜欢该文的人也喜欢}

我要回帖

更多关于 matlab gui调用m文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信