matlab程序設(shè)計

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開頭的一行為引導(dǎo)行,表示該M文件是一個函數(shù)文件瘦棋。函數(shù)名的命名規(guī)則與變量名相同稀火。輸入形參為函數(shù)的輸入?yún)?shù),輸出形參為函數(shù)的輸出參數(shù)赌朋。當輸出形參多于一個時凰狞,則應(yīng)該用方括號括起來篇裁。

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ù)达布,應(yīng)與函數(shù)定義時形參的順序、個數(shù)一致逾冬,否則會出錯黍聂。函數(shù)調(diào)用時,先將實參傳遞給相應(yīng)的形參身腻,從而實現(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一樣的用法.恢復(fù)某個變量到matlab工作空間酌泰,,使用load命令

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

who

顯示當前scope的變量

whos

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市宫莱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哩罪,老刑警劉巖授霸,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異际插,居然都是意外死亡碘耳,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門框弛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辛辨,“玉大人,你說我怎么就攤上這事瑟枫《犯悖” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵慷妙,是天一觀的道長僻焚。 經(jīng)常有香客問我,道長膝擂,這世上最難降的妖魔是什么虑啤? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任隙弛,我火速辦了婚禮,結(jié)果婚禮上狞山,老公的妹妹穿的比我還像新娘全闷。我一直安慰自己,他們只是感情好萍启,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布总珠。 她就那樣靜靜地躺著,像睡著了一般伊约。 火紅的嫁衣襯著肌膚如雪姚淆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天屡律,我揣著相機與錄音腌逢,去河邊找鬼。 笑死超埋,一個胖子當著我的面吹牛搏讶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播霍殴,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼媒惕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了来庭?” 一聲冷哼從身側(cè)響起妒蔚,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎月弛,沒想到半個月后肴盏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡帽衙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年菜皂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厉萝。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡恍飘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谴垫,到底是詐尸還是另有隱情章母,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布翩剪,位于F島的核電站胳施,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏肢专。R本人自食惡果不足惜舞肆,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一焦辅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧椿胯,春花似錦筷登、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至廉油,卻和暖如春惠险,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背抒线。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工班巩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嘶炭。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓抱慌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親眨猎。 傳聞我的和親對象是個殘疾皇子抑进,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

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