2012-01-27 3 views
0

Как создать функцию с MATLAB, чтобы я мог назвать ее где-нибудь в моем коде?Создать функции в 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 внутри и т. Д.

+4

Добро пожаловать на переполнение стека. Это очень простой вопрос, на который вы можете легко ответить, прочитав всеобъемлющую [Matlab documentation] (http://www.mathworks.com/help/techdoc/). Я предлагаю вам сначала взглянуть туда и вернуться, если вам нужна более конкретная помощь. – eykanal

+0

Я читал это раньше, но не понимаю! вот почему я спрашиваю, есть ли способ включить функцию в мой файл? или я должен создать его в другом файле? – Zalaboza

ответ

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

  1. собственный каталог Matlab в
  2. MATLAB подкаталоге вашего каталога документов
  3. Текущий рабочий каталог
+0

Большое спасибо :), теперь я понял.это просто не имеет смысла для меня, где я должен положить этот файл функции и как я могу включить его, и как я могу управлять возвратом, большое спасибо за ваш удивительный ответ :) – Zalaboza

0

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

+0

Большое спасибо за ссылку, но я не мог понять, также примеры, которые у них есть в документации, не позволяют это легко понять. – Zalaboza

Смежные вопросы