matlab程序設計

M文件概述

用MATLAB語言編寫的程序,稱為M文件。M文件可以根據(jù)調(diào)用方式的不同分為兩類:命令文件(Script File)和函數(shù)文件(Function File)。

eg:

Program1

? ? clear;%清除工作空間中的變量

? ? f=input('Input Fahrenheit temperature:')

? ? c=5*(f-32)/9

在MATLAB的命令窗口中輸入f2c,將會執(zhí)行該命令文件

Program2

function c=f2c(f)

c=5*(f-32)/9

在MATLAB的命令窗口調(diào)用該函數(shù)文件。

clear;

y=input('Input Fahrenheit temperature:');

x=f2c(y)

程序控制結(jié)構(gòu)

順序結(jié)構(gòu)

數(shù)據(jù)輸入

input(提示信息,選項)

選項僅有's',采用時,將輸入的文本返回為字符串,而不將輸入作為表達式進行評估。

數(shù)據(jù)輸出

disp(輸出項)

其中輸出項既可以為字符串,也可以為矩陣。

eg:

a=input('a=?');

b=input('b=?');

c=input('c=?');

d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];

disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);

此程序的改進,運用if語句進行deta的判別

程序暫停

pause(延遲秒數(shù))

如果省略延遲時間,直接使用pause,則將暫停程序,直到用戶按任一鍵后程序繼續(xù)執(zhí)行。

此函數(shù)在用m文件寫爬蟲時可以用到,python爬蟲的休眠是通過什么函數(shù)完成?

選擇結(jié)構(gòu)

if語句

if條件1

語句組1

elseif條件2

語句組2

……

elseif條件m

語句組m

else

語句組n

end

特點:if后的條件不用括號括起

條件后也沒有:號

結(jié)尾需要用end語句結(jié)束

switch語句

switch表達式

case表達式1

語句組1

case表達式2

語句組2

……

case表達式m

語句組m

otherwise

語句組n

end

特點:switch后的條件不用括號括起

條件后也沒有:號

結(jié)尾需要用end語句結(jié)尾

case后不需要跟break語句,直接調(diào)出switch語句

eg:

clear;

price=input('please enter the priece');

switch fix(price/100)

case{0,1}

rate=0;

case{2,3,4}

rate=0.03;

case{5,6,7,8,9}

rate=0.05;

case{10:24}

rate=0.08;

case{25:50}

rate=0.1;

otherwise

rate=0.14;

end

finalprice=price*(1-rate);

disp(finalprice);

try語句

try

語句組1

catch

語句組2

End

try語句先試探性執(zhí)行語句組1,如果語句組1在執(zhí)行過程中出現(xiàn)錯誤,則將錯誤信息賦給保留的lasterr變量,并轉(zhuǎn)去執(zhí)行語句組2。

循環(huán)結(jié)構(gòu)

for語句

for循環(huán)變量=表達式1:表達式2:表達式3

循環(huán)體語句

end

其中表達式1的值為循環(huán)變量的初值,表達式2的值為步長,表達式3的值為循環(huán)變量的終值。步長為1時,表達式2可以省略。

for語句更一般的格式為:

for循環(huán)變量=矩陣表達式

循環(huán)體語句

end

while語句

while語句的一般格式為:

while (條件)

循環(huán)體語句

end

其執(zhí)行過程為:若條件成立,則執(zhí)行循環(huán)體語句,執(zhí)行后再判斷條件是否成立,如果不成立則跳出循環(huán)。

break語句和continue語句

它們一般與if語句配合使用。

break語句用于終止循環(huán)的執(zhí)行。當在循環(huán)體內(nèi)執(zhí)行到該語句時,程序?qū)⑻鲅h(huán),繼續(xù)執(zhí)行循環(huán)語句的下一語句。

continue語句控制跳過循環(huán)體中的某些語句。當在循環(huán)體內(nèi)執(zhí)行到該語句時,程序?qū)⑻^循環(huán)體中所有剩下的語句,繼續(xù)下一次循環(huán)。

函數(shù)文件

基本結(jié)構(gòu)

function輸出形參表=函數(shù)名(輸入形參表)

注釋說明部分

函數(shù)體語句

其中以function開頭的一行為引導行,表示該M文件是一個函數(shù)文件。函數(shù)名的命名規(guī)則與變量名相同。輸入形參為函數(shù)的輸入?yún)?shù),輸出形參為函數(shù)的輸出參數(shù)。當輸出形參多于一個時,則應該用方括號括起來。

Eg:

function[s,p]=fcircle(r)

%CIRCLE calculate the area and

perimeter of a circle of the radii r

%r

%s

%p

%written at 2017/2/7

%AUTHOR Caid

s=pi*r*r;

p=pi*2*r;

函數(shù)調(diào)用

函數(shù)調(diào)用的一般格式是:

[輸出實參表]=函數(shù)名(輸入實參表)

要注意的是,函數(shù)調(diào)用時各實參出現(xiàn)的順序、個數(shù),應與函數(shù)定義時形參的順序、個數(shù)一致,否則會出錯。函數(shù)調(diào)用時,先將實參傳遞給相應的形參,從而實現(xiàn)參數(shù)傳遞,然后再執(zhí)行函數(shù)的功能。

函數(shù)參數(shù)的可調(diào)性

在調(diào)用函數(shù)時,MATLAB用兩個永久變量nargin和nargout分別記錄調(diào)用該函數(shù)時的輸入實參和輸出實參的個數(shù)。

eg:

functionfout=tran(a,b,c)

ifnargin==1

fout=a;

elseifnargin ==2

fout=a+b;

elseifnargin ==3

fout=(a*b*c)/2;

End

全局變量與局部變量

Global變量名

在函數(shù)文件中需要申明所使用的全局變量

eg:

function f=wadd(x,y)

global ALPHA BETA

f=ALPHA*x+BETA*y;

在命令窗口中輸入:

global ALPHA BETA

ALPHA=1;

BETA=2;

s=wadd(1,2)

程序調(diào)試

Debug

Breakpoints

調(diào)試命令

命令

描述

ctrl-c

結(jié)束調(diào)試,終止仿真

dbcont

繼續(xù)執(zhí)行到下一個斷電

dbquit

結(jié)束調(diào)試,終止仿真

dbstep [in|out]

當遇到斷點時,執(zhí)行下一步進入或者一步執(zhí)行過子函數(shù)

help

顯示help文檔

print?

顯示當前scope中的變量var?in如果var是個向量或矩陣你可以索引變量var.例如,?var(1,2).

save

保存變量到某個文件中。和matlab命令save一樣的用法.恢復某個變量到matlab工作空間,,使用load命令

如果變量在當前scope,和"print "一樣

who

顯示當前scope的變量

whos

顯示當前scope中所有變量的類型和大小

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,536評論 19 139
  • 補充圖片 路途中帶的用品 游覽翠湖公園 游覽翠湖公園 云南大學研究生許默焓同學指導我們游覽 游覽云南大學 云南大學...
    清香清閱讀 680評論 0 0
  • 一個簡單的數(shù)據(jù)加載框,可用來在數(shù)據(jù)加載中使用,也可以做靜態(tài)顯示,顏色等可自己調(diào)用,后續(xù)會加一個比較炫的加載動畫。 ...
    RainyHand閱讀 1,217評論 0 4
  • 連載 | 天機閣-十三人 | 目錄 上一章 | 第二章 | 入閣 南宮三兄弟聞言,紛紛變色。江湖上傳言,山東吳氏雙...
    藍鏡玲閱讀 642評論 4 51

友情鏈接更多精彩內(nèi)容