2012-01-27 108 views
0

如何使用MATLAB创建函数,以便我可以在任何位置调用它?在matlab中创建函数

我是新来的MATLAB所以我会写我要在MATLAB中编写代码的PHP的例子!

Function newmatlab(n){ 
    n=n+1; 
    return n; 
    } 
array=array('1','2','3','4'); 
foreach($array as $x){ 
$result[]=newmatlab($x); 
} 
print_f($result); 

所以简而言之,我需要循环一个数组,并将函数应用于此数组中的每个项目。

有一个人能告诉我,MATLAB写上面的功能,所以我能更好地理解?

注:我需要这个,因为我写的分析视频文件,然后绘制数据上的图形的代码。然后我将这个图表保存到Excel和JPG中。我的问题是,我有超过200个视频来分析,所以我需要自动化此代码来循环内部文件夹和分析里面的每个* .avi文件等。

+4

欢迎堆栈溢出的MATLAB子目录。这是一个非常基本的问题,您可以通过阅读综合[Matlab文档](http://www.mathworks.com/help/techdoc/)轻松回答。我建议你先看看那里,如果你需要更多的具体帮助,请回来。 – eykanal 2012-01-27 19:23:50

+0

我之前读过这篇文章,但并不理解!这就是为什么我问,有没有办法将函数包含在我的文件中?或者我必须在不同的文件上创建它? – Zalaboza 2012-01-27 20:37:02

回答

1

正如其他人所说,该文件涵盖了这个漂亮的彻底,但我们或许可以帮助你理解。

有,你可以在Matlab定义函数的方式了一把,但可能让你上手是定义一个在m文件最有用的。我将使用您的示例代码。您可以通过创建一个在项目的目录名为newmatlab.m文件看起来像这样

% newmatlab.m 
function result = newmatlab(array) 
result = array + 1 

注意函数具有相同的名称,该文件并没有明确的return语句来做到这一点 - 它的数字说出来通过您命名的输出参数(在这种情况下为result)。

然后,在同一目录下,你可以创建一个脚本(或其他功能),通过该名称叫你newmatlab功能:

% main.m (or whatever) 
a = [1 2 3 4]; 
b = newmatlab(a) 

这就是它!这是一个简单的解释,但希望足以让你开始,然后文档可以帮助更多。

PS:有在Matlab中没有 “有”;任何在当前path中的m文件中定义的功能都是可见的。您可以使用path命令找出路径中的内容。粗略地说,它要由

  1. Matlab的自己的目录
  2. 您的文档目录
  3. 当前工作目录
+0

非常感谢:),现在我明白了。它只是没有任何意义,我应该把这个功能文件放在哪里,我怎么能包括它,我如何控制返回,非常感谢你的惊人答案:) – Zalaboza 2012-01-27 21:12:12