【问题标题】:Create functions in matlab在matlab中创建函数
【发布时间】:2012-02-20 18:27:31
【问题描述】:

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

【问题讨论】:

  • 欢迎来到 Stack Overflow。这是一个非常基本的问题,您可以通过阅读全面的Matlab documentation 轻松回答。我建议你先看看那里,如果你需要更具体的帮助再回来。
  • 我以前读过,但不明白!这就是我问的原因,有没有办法在我的文件中包含该函数?或者我必须在不同的文件上创建它?

标签: arrays function matlab loops for-loop


【解决方案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. Documents 目录的 MATLAB 子目录
  3. 当前工作目录

【讨论】:

  • 非常感谢:),现在我明白了。这对我来说没有意义我应该把这个函数文件放在哪里,我如何包含它以及我如何控制返回,非常感谢你的惊人回答:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 2010-12-26
  • 1970-01-01
  • 2016-09-18
相关资源
最近更新 更多