Создание функций в Matlab - PullRequest
       10

Создание функций в Matlab

0 голосов
/ 27 января 2012

Как я могу создать функцию с MATLAB, чтобы я мог вызывать ее в любом месте моего кода?

Я новичок в MATLAB, поэтому я напишу пример PHP кода, который я хочу написать в MATLAB!

    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 ]

1 голос
/ 28 января 2012

Как уже говорили другие, в документации это довольно подробно освещено, но, возможно, мы поможем вам понять.

Существует несколько способов определения функций в 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 нет «include»;любые функции, которые определены в m-файлах в текущем path, являются видимыми.Вы можете узнать, что находится в пути, используя команду path.Грубо говоря, он будет состоять из

  1. собственного каталога Matlab
  2. Подкаталог MATLAB вашего каталога Documents
  3. Текущий рабочий каталог
0 голосов
/ 27 января 2012

В Matlab функции определяются в файле с тем же именем.Быстрый поиск в Google дает подробное описание: http://www.mathworks.com/help/techdoc/matlab_prog/f7-41453.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...