天天看點

M檔案輸入及程式編寫

MATLAB控制流

  • if-else-end結構
  • switch-case結構
  • for循環
  • while循環
  • 控制流的其他指令

    1.break ; 2.continue ; 3.pause ; 4.keyboard ; input ; return

基本和c,python等一些進階語言相類似,尤其與Python基本相同。就按照寫Python程式設計就行。

腳本檔案和函數檔案

M檔案有兩種形式:

1.M腳本檔案(指令檔案)

2.M函數檔案

函數檔案的一般格式為:

function [outarg1, outarg2, ...] = fname(inarg1, inarg2, ...)
% H1 comment line
% Other comment lines
...
(Executable code)
...
(return)
(end)
           

即包括以下:

1.函數申明行:以關鍵字function開頭,定義函數名以及函數輸入輸出參量。函數名和檔案名必須相同。

2.H1行:以%開頭,運用關鍵詞來描述函數功能

3.線上幫助檔案文本:以%開頭,包括函數輸入輸出參量的含義,調用格式說明。

4.編寫和修改記錄:以%開頭。标志編寫該檔案的作者、日期和版本記錄。

5.函數體:Matlab指令,接收輸入參量,進行程式流控制,得到輸出參量。

MATLAB函數:

類别:

分為主函數、子函數、嵌套函數、私用函數、匿名函數。

一個M檔案可以包含多個函數,第一個函數為主函數,其他則為子函數。

子函數特點:

1.子函數結構與M函數檔案基本相同

2.在M檔案内,主函數位置為首位不可改變,子函數位置次序可随意。

3.子函數隻能被同一檔案中的主函數或其他子函數調用。

自定義函數方式:

  • 指令檔案or函數檔案+函數檔案:多個M檔案。
  • 函數檔案+子函數:一個M檔案
  • inline:無需M檔案。

    此指令可以用來定義一個内聯函數:

    f =inline(‘函數表達式’,’變量1’,’變量2’,…)

    調用方式:y=f(數值清單);帶入數值清單順序應與定義時的變量名順序一緻。

  • syms(符号表達式)+subs方式:無需M檔案。

    syms f x

    f = 1/(1+x^2)

    subs(f, ‘x’, 代替x的數值或符号)

  • 字元串+subs方式:無需M檔案。

    直接定義一個字元串

    f = ‘1/(1+x^2)’

    z = subs(f, ‘x’, 2)

  • @函數句柄。

    如[email protected](x)。相當于建立了一個函數檔案。

MATLAB工作方式:

1.互動式的指令行

2.M檔案的程式