2012-01-27 105 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