MATLAB腳本文件和MATLAB函數文件有什麼區別?MATLAB中的腳本和函數有什麼區別?
回答
腳本與功能
腳本是包含MATLAB 語句間的文件。 MATLAB``函數''是另一種類型的m文件。最大的 腳本和 功能之間的區別是功能有輸入 和輸出參數。腳本文件 只能對 硬編碼到其m文件中的變量進行操作。由於 你可以看到,功能更靈活 。因此它們更適用於通用任務 ,它們將應用於不同的 數據。
腳本對於不會更改的任務 很有用。他們也是一種方式 來記錄一個特定的動作序列,例如一個函數調用 特殊參數值,可能是 難以記住。
還有更多 腳本和 函數之間的細微差異。一個腳本可以被認爲是 作爲鍵盤宏:當您鍵入腳本的名稱 時,其中包含的所有 命令都會執行 ,就像您已將這些 命令鍵入命令窗口一樣。 因此,將在 腳本中創建的所有變量添加到當前會話的 的工作區中。此外,如果 文件中的任何變量與 中的變量具有相同的名稱,那麼當前的工作空間, 中的那些變量的值將由腳本中的操作更改爲 。 這可以用於你的優勢。它也會導致不需要的副作用。
相比之下,函數變量是函數局部的 。 (例外 是可以聲明的,而 使用全局變量,但是 需要用戶明確採取行動並由 用戶採用。)本地函數的作用域 變量爲您提供了更高的安全性和靈活性。唯一的方法(除了 顯式聲明的全局變量) 以獲取信息進入和退出 函數是通過參數列表中的 變量。
例
一個的腳本和功能之間的主要區別是進入工作區中的變量。例如,假設在工作區中,您已經定義了兩個變量a = 10
和b = 20
。這些變量是在主提示符的命令行中定義的。
腳本文件 - display_mult.m
disp(a*b)
;
鍵入display_mult
將在工作區中顯示的a
和b
的產物,即10*20
或200
。
但是,如果你定義的函數,在文件中定義具有相同名稱叫display_mult:
功能文件 - display_mult.m
function display_mult(a,b)
disp(a*b);
end
您必須包括兩個變量作爲函數調用的參數。因此,display_mult
將不是這次工作,因爲a
和b
不存在於函數的工作區中。您將不得不通過運行display_mult(a,b)
來包含它們,這將顯示所需的結果。
簡單的解釋
腳本中的每個語句相當於在MATLAB的命令窗口中鍵入出來。您只需將它們存儲在一個文件中即可!
另一方面,函數接受參數並且是與主工作空間分離的「新」工作空間。
注意:函數調用結束時的end
是可選的,但我想添加它以使事情組織起來。當然,如果你在一個文件中有多個函數定義,它們將全部以end
結尾。另外,你不能在同一個文件中有一個腳本和一個函數定義。
- 1. GAS中的腳本和自定義函數有什麼區別?
- 2. MATLAB中的plotconfusion和Confusionmat函數有什麼區別?
- 3. MATLAB中的「addOptional」和「addParameter」函數有什麼區別?
- 4. MATLAB中的{}和[]有什麼區別?
- 5. Javascript和ECMA腳本有什麼區別?
- 6. MATLAB中&和&&有什麼區別?
- 7. *和。*在matlab中有什麼區別?
- 8. Matlab中ubit16和uint16有什麼區別?
- 9. NtFsControlFile()和DeviceIoControl()函數有什麼區別?
- 10. $ get和$ find函數有什麼區別?
- 11. round()和trunc()函數有什麼區別?
- 12. Matlab中不同高斯函數之間有什麼區別?
- 13. shell腳本中的$ @和$ *有什麼區別?
- 14. 腳本標籤中的「lang」和「type」屬性有什麼區別?
- 15. shell腳本中的$ @和$ *有什麼區別?
- 16. Perl中的子程序和腳本有什麼區別?
- 17. 在javascript中var函數和函數有什麼區別?
- 18. 函數和函數()在C#中有什麼區別?
- 19. RegExp的exec()函數和String的match()函數有什麼區別?
- 20. eclipse中運行php腳本和php網頁有什麼區別?
- 21. 有什麼區別`和$(Bash中有什麼區別?
- 22. 中有什麼函數參數和參數之間......區別
- 23. 函子和「泛型」有什麼區別
- 24. OpenCL中本地和全局內存區別有什麼區別?
- 25. submit()函數和send()JavaScript函數之間有什麼區別?
- 26. 函數模板和模板函數有什麼區別?
- 27. JavaScript:函數名稱和函數引用有什麼區別?
- 28. 函數調用和函數引用有什麼區別?
- 29. setTimeout與函數和無函數之間有什麼區別?
- 30. 非純函數和純函數有什麼區別?
舉例? 你能舉個例子嗎? – izzat 2009-11-08 04:41:15
添加了一個示例並在解決方案上進行了擴展 – Jacob 2009-11-08 04:58:02