數(shù)學(xué)建模軟件-實(shí)驗(yàn)教程_第1頁
數(shù)學(xué)建模軟件-實(shí)驗(yàn)教程_第2頁
數(shù)學(xué)建模軟件-實(shí)驗(yàn)教程_第3頁
數(shù)學(xué)建模軟件-實(shí)驗(yàn)教程_第4頁
數(shù)學(xué)建模軟件-實(shí)驗(yàn)教程_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

編程入門編程簡介作為一種廣泛應(yīng)用于科學(xué)計(jì)算的工具 ,不僅具有強(qiáng)大的數(shù)值計(jì)算、符號計(jì)算、矩陣運(yùn)算能力和豐富的繪圖功能,同時(shí)也具有和C、FORTRAN等高級語言一樣進(jìn)行程序設(shè)計(jì)。利用

的程序控制功能,可以將有關(guān)命令編成程序在一個(gè)文件中(M

文件),然后在命令窗口中運(yùn)行該文件,就會(huì)自動(dòng)依次執(zhí)行文件中的命令,直到全部命令執(zhí)行完畢。在程序設(shè)計(jì)中,要充分利用數(shù)據(jù)結(jié)構(gòu)的特點(diǎn),提高編程效率。用

語言編寫的程序稱為

M

文件。M

文件以.m

為擴(kuò)展名。M文件是由若干 命令組合在一起構(gòu)成的,它可以完成某些操作,也可以實(shí)現(xiàn)某種算法。事實(shí)上,

提供的 函數(shù)以及各種工具箱,都是利用 語言開發(fā)的M

文件。用戶也可以結(jié)合自己的工作需要,開發(fā)自己的程序或工具箱。M

文件根據(jù)調(diào)用方式的不同可以分為兩類:Script: 文件/命令文件Function:函數(shù)文件M

文件M

文件的建立與打開M文件是一個(gè)文本文件,可以用任何文本編輯器來建立和編輯,通常使用

自帶的

M

文件編輯器。新建一個(gè)M

文件菜單操作(File

New

M-File

)命令操作(edit

M文件名)命令按鈕(快捷鍵)打開已有的M

文件菜單操作

(

File

Open

)命令操作(edit

M文件名)命令按鈕

(

快捷鍵

)雙擊M

文件c

5

(

f

32)9新建一個(gè)M

文件f2cs.m,內(nèi)容如下:例:編寫一個(gè) 文件將華氏溫度轉(zhuǎn)化為攝氏溫度文件舉例clear;

%清除當(dāng)前工作空間中的變量f=input('Please

input

Fahrenheit

temperature:');c=5*(f-32)/9;fprintf('The

centigrade

temperature

is

%g\n',c);在命令窗口中輸入f2cs,即可執(zhí)行該M文件。文件運(yùn)行后,文件中所產(chǎn)生的所有變量都駐留在當(dāng)前工作空間,可以用whos

查看。關(guān)系運(yùn)算<小于<=小于等于>大于>=大于等于==等于~=不等于比較大小,如果結(jié)論是真則返回1

,否則返回0注意==與=的區(qū)別關(guān)系操作符能用來比較兩個(gè)同樣大小的數(shù)組,或用來比較一個(gè)數(shù)組和一個(gè)標(biāo)量,在后一種情況,標(biāo)量和數(shù)組中的每一個(gè)元素相比較,比較結(jié)果與數(shù)組大小一樣。關(guān)系運(yùn)算符關(guān)系運(yùn)算舉例例:>>2+2==4>>

2>3>>

A=[135;206];>>

B=[3>>

A>=B10;246];>>

x=[5

0;

4

2];>>

x<4&與(Elementwise

AND)|或(Elementwise

OR)~非xor(x,y)異或邏輯運(yùn)算邏輯運(yùn)算符&&與(Short-circuit

AND)||或(Short-circuit

OR)A

&

B

等價(jià)于and(A,B)A

|

B

等價(jià)于or(A,B)~

A

等價(jià)于not(A)運(yùn)算對象與或非異或ABA&BA|B~AXor(A,B)000010010111100101111100邏輯運(yùn)算表all(x)如果向量X

中所有元素都非零,則返回1,否則返回0若x

為矩陣,則any

和all

按列運(yùn)算,返回一個(gè)0-1

向量邏輯運(yùn)算相關(guān)函數(shù)any(x)如果向量X

中存在非零元素,則返回1,否則返回0isfinite元素為有限值,返回真值1isinf元素為無窮大,返回真值1isnan元素為不定值,返回真值1isreal參量無虛部,返回真值1isstr參量為一個(gè)字符串,返回真值1isempty參量為空,返回真值1一些測試函數(shù)括號高低冪,點(diǎn)冪正號,負(fù)號,邏輯非乘,除,點(diǎn)乘,點(diǎn)除加,減冒號運(yùn)算關(guān)系運(yùn)算&|&&||運(yùn)算優(yōu)先級程序控制結(jié)構(gòu)有三種:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。任何復(fù)雜的程序都由這三種基本結(jié)構(gòu)組成。順序結(jié)構(gòu)按排列順序依次執(zhí)行各條語句,直到程序的最后。這是最簡單的一種程序結(jié)構(gòu),一般涉及數(shù)據(jù)的輸入輸出、數(shù)據(jù)的計(jì)算或處理等。M文件控制流數(shù)據(jù)的輸入:inputA=input(提示信息)其中提示信息為字符串,該命令要求用戶輸入A

的值(可以是數(shù)或字符串)例:A=input('Please

input

A:')如果是輸入字符串,也可以使用下面的方法數(shù)據(jù)輸入inputA=input(提示信息,'s')注:此時(shí)輸入的字符串不要加單引號!例:name=input('What''s

your

name?','s')disp(X)輸出變量X

的值,可以是數(shù)值矩陣或字符串>>

B=[1

2

3;

4

5

6;

7

8

9];>>

disp(B)數(shù)據(jù)輸出disp數(shù)據(jù)的輸出:disp>>

A=' o,Tom

!';>>

disp(A)例:數(shù)據(jù)輸出fprintffprintf(fid,format,variables)數(shù)據(jù)的輸出:fprintf按指定的格式將變量的值輸出到指定的文件fid

為文件句柄,若缺省,則將變量的值輸出到屏幕上format

用來指定數(shù)據(jù)輸出時(shí)采用的格式,常見的有%e

(采用科學(xué)計(jì)算形式)%f

(采用浮點(diǎn)數(shù)形式)%g

(由系統(tǒng)自動(dòng)選取上述兩種格式之一)%s

(輸出字符串)format

中還可以使用一些特殊格式,如:\n

(

換行

)

\t

(

制表符

)

\b

(

退格

)

\\

(

反斜桿

)

%%

(

百分號

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

a=' o';

b=2.4;

c=100*pi;>>

fprintf('a=%s,b=%f,c=%e\n',a,b,c)例:format

中的輸出格式要與輸出變量一一對應(yīng)可以沒有輸出變量>>

fprintf('

Today

is

Monday\n')例:pause程序的暫停:pausepause

或pause(n)若想強(qiáng)行終止程序的運(yùn)行,可以使用Ctrl+c其中n

是延遲時(shí)間,以秒為單位;若缺省,則將暫停程序,直到用戶按任意鍵后繼續(xù)pause

off

程序中所有pause

的作用pause

on

打開pause

的作用選擇結(jié)構(gòu)是根據(jù)給定的條件成立或不成立,分別執(zhí)行不同的語句。

用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語句有

if

語句和switch

語句。選擇結(jié)構(gòu)單分支結(jié)構(gòu)if

expression

(條件)statements

(語句組)end雙分支結(jié)構(gòu)if

條件語句if

expression

(條件)statements1(語句組1)elsestatements2(語句組2)end多分支結(jié)構(gòu)if

expression1

(條件1)statements1(語句組1)

elseif

expression2

(條件2)statements2(語句組2)...

...elseif

expressionm

(條件m)statementsm(語句組m)elsestatements(語句組)endif

條件語句if

語句舉例數(shù)論中的一個(gè)有趣問題:任取一個(gè)正整數(shù),如果是偶數(shù),用2除,如果是奇數(shù),用

3乘再加1,反復(fù)這個(gè)過程,直到所得到的數(shù)為1。問:是否存在使該過程永不中止的整數(shù)?(exp01.m)while

1n=input('Please

enter

n(nonpositive

quit):');m=n;if

n<=0,

break;

endwhile

n>1if

rem(n,2)==0n=n/2;elsen=3*n+1;endfprintf('\n

n=%d',n);endfprintf('\n

%d

is

not

we

need!

continue

...

\n‘,m);endif

語句舉例根據(jù)表達(dá)式的不同取值,分別執(zhí)行不同的語句。switch

expression

(表達(dá)式)case

value1

(表達(dá)式1)statement1(語句組1)case

value2

(表達(dá)式2)statement2(語句組2)...

...case

valuem

(表達(dá)式m)statementm(語句組m)otherwisestatement

(語句組)endswitch

語句首先計(jì)算expression

的值,然后將它依次與各個(gè)case

指令后的檢測值進(jìn)行比較,當(dāng)比較結(jié)果為真時(shí),就執(zhí)行相應(yīng)的語句組,然后跳出switch

結(jié)構(gòu)。如果所有的比較結(jié)果都為假,則執(zhí)行otherwise

后面的語句組,然后跳出switch

結(jié)構(gòu)。otherwise

指令可以不出現(xiàn)。switch

后面的表達(dá)式expression

的值可以是一個(gè)標(biāo)量或字符串。switch

語句循環(huán)結(jié)構(gòu)是按照給定的條件,重復(fù)執(zhí)行指定的語句。用于實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語句有for

語句和while語句循環(huán)結(jié)構(gòu)for

variable=expressionstatement(循環(huán)體)end循環(huán)變量表達(dá)式expression

可以是行向量,也可以是矩陣?yán)?/p>

已知

y

1

1

1

1

,當(dāng)

n=100時(shí),求

y的值3

5 2n

1for

循環(huán)clear;

y=0;

n=100;for

k=1:ny=y+1/(2*k-1);end循環(huán)語句可以嵌套使用不能在for

循環(huán)體內(nèi)改變循環(huán)變量的值為了提高代碼的運(yùn)行效率,應(yīng)盡可能提高代碼的向量化程度,避免for

循環(huán)的使用如果預(yù)先就知道循環(huán)的次數(shù),則可以采用for

循環(huán);否則,如果預(yù)先無法確定循環(huán)的次數(shù),則可以使用

while

循環(huán)。while

循環(huán)while

expression

(條件)statement(循環(huán)體)end計(jì)算中eps

值(exp02.m)while

循環(huán)舉例num=0;

EPS=1;while

(1+EPS)>1EPS=EPS/2;num=num+1;end這個(gè)例子給出了計(jì)算

eps

的 法。這里 用大寫

EPS,因此系統(tǒng)中

eps

的值不會(huì)被覆蓋。當(dāng)

EPS=eps

時(shí),條件仍成立;而當(dāng)

EPS=eps/2

時(shí),條件為假,退出循環(huán),所以最后應(yīng)有

EPS=eps/2。num

用來記錄循環(huán)次數(shù)。break

和continuebreak

語句用于終止循環(huán)的執(zhí)行,即跳出最內(nèi)層循環(huán)continue

語句用于結(jié)束本次循環(huán),進(jìn)行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論