在matlab中创建函数

时间:2012-01-27 19:20:43

标签: arrays function matlab loops for-loop

如何使用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文件等等。

2 个答案:

答案 0 :(得分:1)

正如其他人所说,文档非常详尽,但也许我们可以帮助您理解。

您可以通过一些方法在Matlab中定义函数,但对您来说最有用的方法是在m文件中定义一个。我将使用您的示例代码。您可以通过在项目的目录中创建一个名为newmatlab.m的文件来实现此目的

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

请注意,该函数与文件具有相同的名称,并且没有明确的return语句 - 它通过您命名的输出参数({{1}在这种情况下)。

然后,在同一目录中,您可以创建一个以该名称调用result函数的脚本(或其他函数):

newmatlab

那就是它!这是一个简化的解释,但希望足以让您入门,然后文档可以提供更多帮助。

PS:没有"包括"在Matlab;当前% main.m (or whatever) a = [1 2 3 4]; b = newmatlab(a) 中m文件中定义的任何函数都是可见的。您可以使用path命令找出路径中的内容。粗略地说,它将由

组成
  1. Matlab自己的目录
  2. Documents目录的MATLAB子目录
  3. 当前工作目录

答案 1 :(得分:0)

在Matlab中,函数在具有相同名称的文件中定义。快速Google搜索会提供详细说明:http://www.mathworks.com/help/techdoc/matlab_prog/f7-41453.html