MATLAB與科學(xué)計算資料_第1頁
MATLAB與科學(xué)計算資料_第2頁
MATLAB與科學(xué)計算資料_第3頁
MATLAB與科學(xué)計算資料_第4頁
MATLAB與科學(xué)計算資料_第5頁
已閱讀5頁,還剩167頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

MATLAB與科學(xué)計算

多媒體網(wǎng)絡(luò)教室方案示意圖

、兒、▲

,、刖百

?MATLAB:matrixlaboratory的縮寫,

矩陣實驗室的意思。一開始它是一種

專門用于矩陣數(shù)值計算的軟件。自

MATLAB4.0版本問世以來,該軟件成

為最具有吸引力,應(yīng)用最為廣泛的科

學(xué)計算語言。我們這個課就拿

MATLAB6.1版本來講。(6.x版本大

同小異)

?學(xué)習(xí)該軟件的必要性:目前,

MATLAB軟件不僅走入企業(yè)、公

司和科研機(jī)構(gòu),而且在高等院校

也是從大學(xué)生到博士生都必須掌

握的一項基本技能,是必不可少

的計算工具,。

?MATLAB功能:數(shù)值計算、符號

運(yùn)算和圖形處理。

?學(xué)習(xí)它的意義:隨著計算機(jī)科學(xué)

和計算軟件的發(fā)展,數(shù)學(xué)系學(xué)生

必須掌握一門好的計算軟件。這

是我們就業(yè)、繼續(xù)身造或做科研

工作所要用到的。是當(dāng)代大學(xué)生

必備的一項技能。

?其它計算軟件:MATHEMATIC

(數(shù)學(xué)分析問題的計算);IDL

(航天、控制),F(xiàn)OETRAN、

BASIC(科學(xué)計算)。可以說一

個人掌握了一門計算軟件,再學(xué)

習(xí)其它計算軟件很容易。

?MATLAB桌面平臺:

(1)主窗口:整個大的窗口(其它

幾個窗口都包括在其中)

(2)命令窗口(command

window):》為運(yùn)算提示符,表

示MATLAB在準(zhǔn)備狀態(tài)。當(dāng)在提示

符后輸入一段運(yùn)算式并按回車鍵

后,就給出計算結(jié)果

(3)歷史窗口(commandhistory):

保留命令歷史記錄,這方便于使

用者查詢。雙擊歷史窗口中的某

一行命令,即可在命令窗口中執(zhí)

行該命令。

(4)當(dāng)前目錄窗口(current

directory):在當(dāng)前目錄窗口中

可顯示或改變當(dāng)前目錄,也可以

顯示當(dāng)前目錄下的文件,并提供

搜索功能。

(5)發(fā)行說明書窗口(launchpad):

用來鋪明用戶所擁有的Mathworks

公司產(chǎn)品的工具包、演示以及幫助

信息。

(6)工作間管理窗口

(workspace):顯示目前內(nèi)存中所

有的MATLAB變量的變量名、數(shù)學(xué)結(jié)

構(gòu)、字節(jié)數(shù)及其類型。

?命令窗口查詢幫助:help+函數(shù)名,

當(dāng)用戶知道函數(shù)名字,而不知道

其用法時,用help命令可以去了

解此函數(shù)的用法。

如:helpinv

?MATLAB標(biāo)點的含義:

(1)分號;……區(qū)分行以及取消

運(yùn)行顯示等。例:

A=[l,2,3,4]與A=[1,2;3,4];

的區(qū)別。

(2)逗號,……區(qū)分列及函數(shù)參

數(shù)分隔符等。例:二[1,2;3,4],

B=[l,4,3;3,2,1;4,5,6]

⑶小括號():指定運(yùn)算過程的

先后次序等。例:

x=0.5;

y=sin(x)/(2+cos(x))

z=sin(x)/2+cos(x)

(4)方括號[]:矩陣定義標(biāo)志等。

見上。

(5)續(xù)行號…:例:

y=sin(x)/(2+cos(x))

也可寫為

y=sin(x)...

/(2+cos(x))

(6)百分號%:注釋標(biāo)記,該行%以

后的語句不執(zhí)行。例

%線性規(guī)劃程序

%a=0.5;

b二sin(x);%正弦函數(shù)

(6)等號=:賦值標(biāo)記。見上。

(7)單引號'':字符串表示

符,單引號里面的內(nèi)容為字符串。

單引號一定在英文狀態(tài)下輸入例:

a=lxingtaicollege1

(8)冒號,':有多種應(yīng)用功

能,學(xué)習(xí)過程中注意。如:選取

矩陣的所有行、歹!J;矩陣定義

二、數(shù)值計算

變量:MATLAB語言不需要對所使用

的變量進(jìn)行事先聲明,也不需要指定其

類型,它會首動根據(jù)所賦予變量的值或

卷翻藕鬣r2無量Z的類劃型。如,果

代替舊值。如:

a=1

b=0.5

c=a*b

c=3

?變量命名的規(guī)則:

(1)變量名區(qū)分大小寫;

(2)變量名長度不能超過31位;

(3)必須以字母開頭,變量名中

可包含字母、數(shù)字、下劃線,但

不能使用標(biāo)點。

?常量:MATLAB中有些預(yù)定義的

變量,這些特殊的變量稱為常量。

常用到的有:

i,j:虛數(shù)單位;

pi:IT;

NaN:表示不定值,比如0/0;

inf:無窮大(infinit),比如

1/0o

?算術(shù)操作符:

加,減;可以通用。

*,A,\,/:分別為矩陣乘,乘

方,左除,右除;

分別為數(shù)組乘,

乘方,左除,右除;此時向量的

運(yùn)算不會滿足矩陣的運(yùn)算法則。

注意矩陣的加點運(yùn)算結(jié)果。

如:

a1=2;

a2=[1,2,3,4];

b2=[4,3,2,1];

a1+a2

a1-a2

a2-a1

a1*a2

a1./a2%a1/a2是錯誤的寫法

a1.\a2

a2-b2

a2+b2

a2.*b2%a2*b2是錯誤的寫法

a2./b2

b2./a2

a2.\b2

例已知水的黏度隨溫度的變化公式

2

為p=p0Z(1+at+bt)其中

p0=1.785X103,

a=0.03368,b=0.000221,

求水在0,20,40,求水時的黏度。

程序如下:

miu0=1.785e-3;

a=0.03368;

b=0.000221;

t=0:20:80

miu=miuO./(1+a*t+b*t.A2)

運(yùn)行后的結(jié)果為:

miu=

0.00180.00100.00070.00050.0003

?字符串:

字符串的約定(1)字符串用單引

號括起來;(2)字符串的每個

每個字符(包括空格)都是字符

數(shù)組的一個元素.

例s="xingtaicollege9

f=^sin(x),

是字符串(chararray)

?向量的生成:

(1)直接輸入:如a=[1,2,5,3]

(2)利用冒號表達(dá)式生成:如:

b=[2:2:10],此時[]可省略,步長

為1時,步長可省略。第一個數(shù)為

首元素的值,第2個數(shù)為步長或差

值,第三個數(shù)為尾元素的限值,不

能超過這個值。如b=2;2:11等價

于b=[2:2:10]

(3)線性等份向量生成:

y=linspace(x1,x2,n),生成n維向

量,使得y(1)=x1,y(n)=x2。如:

y=linspace(1,100,6)o

?向量的基本運(yùn)算

(1)向量的加減:用+、?。同維向

量才可以加、減。相應(yīng)元素加減

(2)向量與數(shù)可以加、減。用+、

-o數(shù)與向量的每個元素進(jìn)行作用。

(3)向量與數(shù)可以相乘。用*。

(4)向量與數(shù)可以相除。向量/數(shù),

數(shù)./向量。

(5)兩個向量點積。必須是同維

向量。用dot(a,b)。

(6)兩個向量叉積。

cross(a,b),a,b必須有是3維且次

序不能顛倒,。

(7)混合積。由以上兩個函數(shù)實現(xiàn)。

dot(a,cross(b,c))

?矩陣的生成:

(1)直接輸入:如:a=[1,3,4;4,3,2],

(2)創(chuàng)建M文件輸入大矩陣:當(dāng)矩陣

很大時,直接輸入顯得很笨,出錯

不易修改.我們可以編寫一個M文

件,M文件的擴(kuò)展名必須是m.

例編寫一個名為111@1;"*.111(名字

自己隨便起)的M文件如下:

%matrix.m

mat=[l,2,3,3;3,4,5,1;3,2,1,4;8

,9,7,5]

在命令窗口中輸入matrix,就

會運(yùn)行該文件.查看矩陣的結(jié)構(gòu)可

用size(mat).

?矩陣運(yùn)算:

(1)+、-、*:力口、減、乘運(yùn)算。

(2)矩陣的除法有兩種形式:左除

和右除.右除是先計算

逆再做乘法;而左除不計算逆直接

進(jìn)行除法運(yùn)算,這樣可避免奇異矩

陣無法求逆帶來的麻煩.

如:A=[l,2,3,2;3,2,

4,1;3,1,5,6;2,5,3,2],

b=[l;3;2;lL求方程組Ax二b的解.

由于rank(A)=rank(B)=4(B為增

廣矩陣),所以有唯一解,X二A\b,

或x=inv(A)*b?

?又如:

A=[361,625,961,1444,1936;1,1,1

,1,1],b=\求方程組Ax=b

的解.由于rank(A)=rank(B)=2(B為

增廣矩陣),所以有無窮多個

解,MATLAB中用除法解方程組時所

得到的解是所有解中范數(shù)最小的一

個x二A\bo

(3)矩陣與常數(shù)間的運(yùn)算:+、-、

*運(yùn)算是數(shù)與矩陣的每個元素進(jìn)行

運(yùn)算,除法運(yùn)算,只能常數(shù)做除

數(shù)。

(4)矩陣求逆:inv(A)為A的逆

(inverse).

(5)求轉(zhuǎn)置矩陣:A'.

(6)求矩陣的行列

式:det(A),(determinant是行

列式)。

(7)矩陣塞運(yùn)算:用二如N3,表示

A*A*A。

(8)矩陣指數(shù)運(yùn)算:expm(A),A為

方陣。

(9)矩陣對數(shù)運(yùn)算:logm(A),A為

方陣。

如:a=rand(3);%成生一個3階

隨機(jī)矩陣

b=expm(a)

c=logm(b)

(10)矩陣開方:sqrtm(a).

(11)求矩陣呢的秩:rank(a).

?特殊矩陣的生成:

(1)zeros(n):生成nXn階0矩陣。

(2)zeros(m,n):生成0><11階0矩

陣。

(3)zeros(size(a)):生成與a階數(shù)

相同的0矩陣。

(4)eye(n):生成n階單位矩陣。

(5)eye(m,n):生成inXn階單位

矩陣。

(6)eye(size(a)):生成與@階數(shù)

相同的單位矩陣。

(7)ones(n):生成n階全1矩陣。

(8)ones(m,n):生成mXn階全1

矩陣。

(9)ones(size(a)):生成與a階數(shù)

相同的全1矩陣。

(10)rand(n):生成nXn階隨機(jī)矩

陣,其元素值在0和1之間。

(11)rand(m,n):生成mXn階隨機(jī)

矩陣。

(12)rand:生成一個隨機(jī)數(shù)。

(13)rand(size(a)):生成與a階

數(shù)相同的隨機(jī)矩陣。

?矩陣的特殊操作:

(1)變維操作reshape(a,m,n):把

矩陣a變成nXn階矩陣。如

a=l:12,reshape(a,2,6),

reshape(a,3,4)o注意安維操作

要保證元素個數(shù)一致。

s=l:12;

c=zeros(3,4);

c(:)=s(:);%符號“:”表示

變維操作,這兩個矩陣必須預(yù)先

定義維數(shù),結(jié)果c取的是S的元素。

(2)對角元素抽取diag(a,k)(注:

diagonal為對角線的意思):抽

取矩陣a的第k條對角線的元素作

為向量,k=0時為主對角線,k為

正值時為上方第k條對角線,k為

負(fù)值時為下方第k條對角線。

diag(a)相當(dāng)于diag(a,0).例

a=rand(3);v=diag(a)

說明:如果b是一個向量,貝(Jdiag(b)

為對角矩陣,其對角線元素為b的

元素。如:b=l:3,diag(b).

(3)tril(a)(注:trianglelow):

提取矩a的主下三角。

(4)tril(a,k):提取矩a的第k條

對角線下面部分。k=0時為主對

角線,k為正值時為上方第k條對

角線,k為負(fù)值時為下方第k條對

角線。

(5)triu(a,k)(注:triangle

up):提取矩a的第k條對角線上面

部分。

?邏輯運(yùn)算符:

(1)==:等于。

(2)~二:不等于。

(3)<:小于。

(4)):大于。

(5)<=:小于等于。

(6)〉二:大于等于。

(7)&:邏輯與。

(8)|:邏輯或。

(9)1邏輯非。

說明:

①在關(guān)系比較中,若雙方為同

維數(shù)組(矩陣),則比較的結(jié)果

也是同維數(shù)組(矩陣)。它們的

元素有0和1組成。對應(yīng)位置上的

元素滿足比較關(guān)系時為L否則為

0o當(dāng)常數(shù)與數(shù)組(矩陣)比較時,

結(jié)果與數(shù)組(矩陣)同維,其值

依次為常數(shù)與數(shù)組元素依次比較

的結(jié)果。例:

a=[l:3;4:6;7:9]

x=5

y=x<=a

運(yùn)行結(jié)果

y=

000

011

111

②邏輯運(yùn)算的意義是:

與:當(dāng)運(yùn)算雙方的對應(yīng)元素值

都為非。時,結(jié)果為I,否則為0;

或:當(dāng)運(yùn)算雙方的對應(yīng)元素值

有一非0時,結(jié)果為1,否則為0;

非:當(dāng)運(yùn)算數(shù)組(矩陣)的對

應(yīng)位置上的元素值為0時,結(jié)果為

1,否則為0。例

a=[1,2;3,2];

b=[0,1;3,0];

d=a&b

e=a|b

f=~b

③算術(shù)運(yùn)算、比較運(yùn)算、邏輯與或

非運(yùn)算的優(yōu)先級:先算術(shù)運(yùn)算、

再比較運(yùn)算、最后邏輯與或非運(yùn)

算。

?常用的一些函數(shù)(直接調(diào)用):

sin(x):正弦函數(shù)(sine);例:

x="pi:0.1:pi;y=sin(x);plot(x,y)

asin(x):反正弦函數(shù)(anti?sine);

cos(x):余弦函數(shù)(cosine);

acos(x):反余弦函數(shù)(anti-cosine);

tan(x):正切函數(shù)(tangent);

atan(x):反正切函數(shù)(anti-tangent);

cot(x):余切函數(shù)(cotangent);

acot(x):反余切函數(shù)(anti-

cotangent);

sec(x):正割函數(shù)(secant);

asec(x):反正割函數(shù)(anti-secant);

esc(x):余割函數(shù)(cosecant);

acsc(x):反余割函數(shù)(anti-

cosecant);

sinh(x):雙曲正弦(hyperbolicsine);

asinh(x):反雙曲正弦(anti-hyperbolic

sine);

cosh(x):雙曲余弦(hyperboliccosine);

acosh(x):反雙曲余弦(anti-

hyperboliccosine);

tanh(x):雙曲正切函數(shù)(hyperbolic

tangent);

atanh(x):反雙曲正切函數(shù)(anti-

hyperbolictangent);

coth(x):雙曲余切函數(shù)(hyperbolic

cotangent);

acoth(x):反雙曲余切函數(shù)(anti-

hyperboliccotangent);

exp(x):e指數(shù)函數(shù)(exponent);

log(x):自然對數(shù)函數(shù)(logarithm);

Iog10(x):以10為底的對數(shù);

Iog2(x):以2為底的對數(shù);

sqrt(x):平方根函數(shù)(squareroot);

abs(x):求模函數(shù)(absolute)

lnline(¥的表達(dá)式'):自定義函數(shù)。函數(shù)的自變量為函數(shù)中

出現(xiàn)的變量。自變量順序安字母表順序。

InlineCf的表達(dá)式','變量1','變量Z,'變量3,……):

與上面的區(qū)別是它安變量表的給出的順序規(guī)定函數(shù)的變量

順序。如:g=inline('sin(2*x*y+z)J),

表示:g(x,y,z)=sin(2*x*y+z)

g=inline('sin(2*x*y+z)-x-z'V)

表示:g(x,z,y)=sin(2*x*y+z);

g1(123)與g2(1,2,3)的意義不同o

factorial(n):求n的階乘。

?多項式表示方法:

在MATLAB中多項式

P(X)=anXn+an.iXn」+…+a0是以向量

p=[an田用…,a。]的形式福存的.

(1)系數(shù)向量直接輸入:例輸入多項式

xA3-5xA2+6x-33.

p=[1,-5,6,-33];

poly2sym(p)%polynomial多項

式,將系數(shù)向量表示成符號多項式

⑵矩陣的特征多項式輸入:例

a=[l,2,3;2,3,4;3,4,5];

p=poly(a);%求@的特征多項式系數(shù)

向量

pl=poly2sym(p);%即為a的特征多

項式

(3)由根創(chuàng)建多項式:例

root=[-5,?3+4i廣3?4i];%是某個多

項式的根

p=poly(root)%求相應(yīng)的多項式

的系數(shù)向量

P1=poly2sym(p)%將多項式系數(shù)

向量表示成符號多項式

?多項式運(yùn)算:

⑴求多項式的值:例

p=[1,11,55,125];

a=1.2

b=[1,2;2,3]

polyval(p,a)%polynomialvalue

求多項式在1.2的值

polyvalm(p,b)%多項式在b的值

⑵求多項式的根:例求多項式

2xF-5x-3+6x人2-x+9=0的所有根.

P=[2,-5,6,-1,9]

roots(p)%得到多項式的根

(3)factor:因式分解。例

symsx

factor(x"9-1)

結(jié)果:ans=(x-1)*(xA2+x+1)*(xA6+xA3+1)

factor(symC10(F))%把整數(shù)100進(jìn)

行素數(shù)分解.結(jié)果:(2)八2*(5)八2

(4)expand(s):多項式展開,s可為多

項式、多項式向量和矩陣。例

expand(sym(l(x+l)A31))

結(jié)果:ans=xA3+3*xA2+3*x+l

expand(sym('sin(x+y)'))

結(jié)果:ans=sin(x)*cos(y)+cos(x)*sin(y)

(5)collect(s):對默認(rèn)的變量合并同

類項。

co11ect(s,v):對變量v合并同類

項。

S可為符號多項式、多項式向量和矩陣

collect(sym(lxA2*y+y*x-xA2-2*y*x,))

collect(sym(,xA2*y+y*x-xA2-2*y*x,)/x,)

collect(sym(,xA2*y+y*x-xA2-2*y*x,)/y5)

(6)simple(s):符號表達(dá)式簡化,s可為

符號多項式、多項式向量和矩陣。

f=simple(sym(Tsin(x)A2+cos(x)A21))

結(jié)果:f=l

g=simple(sym(,xA3+3*xA2+3*x+l,))

結(jié)果:g=(x+l)A3

⑺多項式乘除運(yùn)算分別用conv和

deconv:

(convolution,deconvolution)

p1=[2,-5,6,-1,9];

p2=[3,-90,18];

p=conv(p1,p2)%為p1和p2所相應(yīng)

的多項式的乘積多項式的系數(shù)向量

p3=deconv(p,pl)%為p2

p4=deconv(p,p2)%為「1

poly2sym(pl);

poly2sym(p2);

poly2sym(p)

poly2sym(p3)

poly2sym(p4)%觀看這幾個多項

polyfit(x,y,n)其中x,y為擬合數(shù)

據(jù),n為擬合多項式的階數(shù)。例

用最小二乘法擬合數(shù)據(jù)

X:0.501.001.502.002.503.00

y:1.752.453.814.808.008.60

x=[0.5,1,1.5,2,2.5,3]

y=[l.75,2.45,3.81,4.80,8.00,8.60]

a=polyfit(x,y,2)%用2次多項式擬合上

組數(shù)據(jù),a為擬合多項式的系數(shù)向量

xl=O.5:0.05:3

yl=a(l)*xl."2+a(2)*xl+a(3)

plot(xl,yl)%畫出擬合曲線的圖

holdon%保留上面的圖形和坐

標(biāo),可在該坐標(biāo)系中繼續(xù)作圖

plot(x,y,)%用*號的形式

畫出被擬合的數(shù)據(jù)圖形

?求矩陣的特征值(eigenvalue:)和特

征向量(eigenvector)

a=[7,3,-2;3,4,-1;-2,-1,3];

[x,y]=eig(a)%所得結(jié)果x為a的特征

向量矩陣,y為特征值矩陣

說明:a必須是方陣,此時a*x=x*y,

三、符號運(yùn)算

?MATLAB進(jìn)行符號運(yùn)算的主要功能:

符號表達(dá)式和符號矩陣的基本操作、

符號矩陣的基本運(yùn)算、符號微積分

運(yùn)算、符號線性方程求解、符號微

分方程求解、特殊數(shù)學(xué)符號函數(shù)、

符號函數(shù)圖形等。

■符號表達(dá)式的生成

創(chuàng)建符號函數(shù):如fmiog(x)'

創(chuàng)建符號方程:如

g="a*xA2+b*yA2+c=0"

創(chuàng)建微分方程:如q="Dy.y=x'

或者:f=sym(tlog(x),)>

g=sym('a*xA2+b*yA2+c=0i)>

q=sym(,Dy-y=x,)

說明:符號函數(shù)也可以用另一方

法創(chuàng)建(該方法不能創(chuàng)建方程):

symsx%用$丫1^可以定義多個變量,變量間用空格分開

f=log(x)

w=sin(x)+cos(x)

?符號與數(shù)值之間的轉(zhuǎn)換

(1)Vpa函數(shù):如

digits(25)%設(shè)置有效數(shù)字

的精度為25位有效數(shù)字

vpa(pi+1)%顯示在上述

digits函數(shù)設(shè)置下的精度的數(shù)值

或者vpa(pi+1,25)

^±vpa:variableprecisionarithmetic

(2)numeric函數(shù):如

numeric(pi+2),a="1\numeric(a)(把a(bǔ)

變?yōu)閐ouble型,相當(dāng)于str2nlim(a))

(3)double函數(shù):轉(zhuǎn)sym型為double型.

double(sym(2)),a="1\

double(a))(把a(bǔ)變?yōu)閐ouble型代碼)

說明:對sym型數(shù)據(jù),上兩者作用一樣

例求函數(shù)f(x)=x?cos(x)在x=2的值。

symsx

f=x-cos(x);

fl=subs(f,T,x)%字符替代,

在符號函數(shù)f中用2代替x

fl=subs(f,x,1)%給出f在x=l處

的值。

digits(20)

vpa(f1)

numeric(fl),doub1e(fl)

例求方程3x2?ex=0的精確解和各種

精度的近似解。

解s=solve(<3*xA2-exp(x)=0,)

vpa(s)%顯示32位有效數(shù)字

vpa(s,6)%顯示6位有效數(shù)字

symsx

ezplot(3*xA2-exp(x))

注:W=LAMBERTW(X)是w*exp(w)=x的解

?符號函數(shù)運(yùn)算

復(fù)合函數(shù)運(yùn)算:設(shè)z=g(y),y=f(x)

compose(g,f)%即為g(f(x)),自

變量的符號取為f函數(shù)的自變量符

號。

compose(g,f,t)%即為g(f(x)),

自變量的符號取t。

反函數(shù)運(yùn)算:finverse

?symsx;symsy;symst;%或者symsxyt

?g=sin(y);f=1/x

?compose(g9f)

?compose(g,f,t)

?finverse(g)

?finverse(f)

?符號矩陣創(chuàng)立

使用sym函數(shù)直接創(chuàng)建符號矩陣:例八

a=sym(,[l/sin(x),cos(x)^2;2*x,l+x^2])

symsx

a=[l/sin(x),cos(x)-2;2*x,l+x^2]

用創(chuàng)建子矩陣的辦法創(chuàng)建符號矩陣(該方法不推

薦):例

a=[-1/sin(x),cos(x)…2],;'[2*x

,l+x…2]']%同列元素的位數(shù)必須一樣,可

用空可空格來補(bǔ)。例

b=[a,/[1,x2了:

?將數(shù)值矩陣轉(zhuǎn)化為符號矩陣

a=[2/3,sqrt(2);0.222Jog(3)]%2為

數(shù)值矩陣

b=sym(a)%把2轉(zhuǎn)化為符號矩陣b。

?符號矩陣索引和修改

b(2,2)%矩陣的索弓顯示矩陣b的

第2行第2列元素。

?符號矩陣的修改

b(2,2)=1og(9)J%矩陣的修改,

b(2,2)修改為log(9)。

?符號矩陣的運(yùn)算

(1)+、一、*、\、/運(yùn)算

(2)矩陣轉(zhuǎn)置('):聯(lián)

(3)行列式運(yùn)算:det(a)

%determinant的簡寫并算符號矩陣

的行列式。

(4)求逆inv(a):求矩陣a的逆。

(5)求矩陣的秩rank(a):求矩陣a的秩。

?符號函數(shù)極限(只限于sym型函數(shù))

limit(f,x,a):求表達(dá)式依x-a時的極限。

limit(f):求f在x—0時的極限.

而計(仃聲,昵伍):求表達(dá)式他*一2時的左

極限。

Iimit(f,x,a,5rightJ):求表達(dá)式由Ex—a時的

右極限。例

symsx

limit(sin(x)/x,x,1)

limit(sin(x)/x)

limit((1+1/x)A(1/x),x,inf)

f=atan(1/(1-x))

y=limit(f,x,1)%沒極限

y1=limit(f,x,1Jeft')

y2=limit(f,x,1,'right')

f=1/x,

y1=limit(f,x,O」eft')

,1

y2=limit(f,x,0Jright)

?符號積分(適于sym型、char型)

(Dint(f,x):計算符號表達(dá)式f,自由變

量為x的不定積分.

(2)int(f,x,a,b):計算符號表達(dá)式f,自

由變量為x,從a到b的定積分

說明:符號表達(dá)式可以是符號函數(shù),

也可是符號矩陣。

symsx

int(sin(x),x)

int(sin(x),x,O,l)

int(sin(x),x,O,l)

說明:變量x省略時默認(rèn)對x積分。

a=sym(,[l/sin(x),cos(x)A2;

2*x,l+x人2「)

int(a,x)

,符號函數(shù)求導(dǎo)(適于sym型和char型)

(1)diff(f,x)%求表達(dá)式f,自由變量為x

的導(dǎo)數(shù)。說明:diff(a),a為向量時,

表示前項與后一項的親。

(2)diff(f,x,n)%求表達(dá)式f,自由變量

為x的n階導(dǎo)數(shù)。

symsx

f=sin(x)-2

diff(f,x)%變量x省略時默認(rèn)對x求導(dǎo)

diff(f,x,2)%x省略時默認(rèn)對x求導(dǎo)

?線性方程組的符號解法(linsolve)

例a=sym('10,-2;0,-2,10?)

b=sym('[9;7;6]')

x=linsolve(a,b)%x為線性方程

ax=b的解。注:這里a,b出行是double型

,但得到的x為sym型。

vpa(x)%轉(zhuǎn)化為浮點近似解,32位有效

數(shù)字。

?非線性方程(組)的符號解法

(1)fsolve(f,xo)洪中f為被求零點的

函數(shù),X。為初值。注:fsolve對sym型

函數(shù)無效;可用于有函數(shù)文件、字符

串、和inline定義的函數(shù);類似命令還

宥:fzeroo或用:

fsolve(T5x0foptions)

(2)slove(屆程1:'方程2,…).

例、求解下面非線性方程組

X1?0.7sifix1-0.2COSX2=0

X2-0.7COSX1+0.2sinx2=0

解首先編寫函數(shù)文件f.m如下

functiony=fc(x)

y(1)=x(1)-0.7*sin(x(1))-0.2*cos(x(2));

y(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2));

y=[y(i);y(2)];

在命令窗口中輸入

x0=[0.502,0.51];%x0為初始向量

fsolve('fc\xO)

作業(yè):分別用solve和fsolve函數(shù)求

sinx+cosx+x=0的解,并進(jìn)行驗證。

作業(yè):分別用solve和fsolve函數(shù)求方

程組

x"2*y"2-2*x-1=0

x"2-y2-1=0

的解,并進(jìn)行驗證。

兩個函數(shù)用法的區(qū)別是什么?

%方法1

?[x,y]=solve(,xA2*yA2-2*x-1=05/xA2-yA2-1=O9);

%方法2

?functiony=fc(x)

?y(l)=x(l)八2*x(2)八2-2*x(l)?l;

?y(2)=x(l)A2-x(2)A2-l;

?y=[y(D,y⑵]

?x0=[1.6;1.2]

?x=fsolve(!fc\xO)

%方法3

?f=![x(l)A2*x(2)A2-2*x(l)-l;x(l)A2-x(2)A2-X]6

?x0=[0.6;0]

?x=fsolve(f,xO)

%方法4

f=inlinef[x(l)A2*x(2)A2-2*x(l)-l;x(l)A2-x(2)A2-X]f)

?x0=[1.6;1.2]

?x=fsolve(f,xO)

(4)已知

x=[xx,x2,…,xj

f=(fl(X);f2(x);…;fn(x))

試求導(dǎo)數(shù)f'(x),即f對x的jacobian

矩陣。

提示:利用函數(shù):jacobian(f,v),

其中v為自變量向量。

利用該雅可比函數(shù)求下面函數(shù)的

導(dǎo)數(shù)以及在(1,2,3)點的導(dǎo)數(shù)值。

F=[3x-cos(xy)-0.5;

x2-80(y+0.l)2+sinz+l.06;

exy+20z+l]

?symsx5symsy,symsz

f=[3^x-cos(x^y)-0.5;xA2-

0^(y+0.1)A2+sin(z)+1.06;exp(-

x*y)+20*z+l]

?df=jacobian(f5[x^z])

?b=subs(df,[x,y,z],[1,2,3]);b='[1;2;3],;

?c=linsolve(a5b);

?常微分方程的符號解(dsolve):

字符D代表對獨立變量導(dǎo)數(shù)d/dt,Dn代表對獨立變量的n

階導(dǎo)數(shù),

例求dy/dt=?ay和dy/dx=x的解

解dsolve(iDy=-a*y5)%得到通解,默認(rèn)自變量為匕

dsolve(tDy=-a*y5/y(0)=15)%給定了初始條件,求

特解。方程和初始條件用逗號分開,都用單引號引

起來。

y=dsolve(,Dy=xlX。;%通解

y=dsolveCDy=x;y(1)=2,Jx=%特解

?符號函數(shù)的二維圖形

(1)ezplot(f):繪制f(x)的圖形,

的范圍為[-2立,2TT]。如

ezplot('sin(x)9。

(2)ezplot(f,a,b):繪制f(x)的

圖形,x的范圍為[a,b]o如

ezplot('sin(x)10,9)o

四、圖形處理

圖形可視化是數(shù)學(xué)計算人

員所喜歡和追求的一項技術(shù)。把

結(jié)果用圖形描述出來,便于理解、

分析。

?二維繪圖命令

(1)plot(y):%若y是向量,就以向量的索

可為橫坐標(biāo),以向量的元素值為縱坐

標(biāo);

(2)plot(x,y):一般來說是繪制向量y的圖

形,橫坐標(biāo)為x的值,縱坐標(biāo)為y的值。

(3Lplot(x,y;J):這里表示用點線顯

Zj\O

?二維繪圖命令

(1加10*丫):%若丫是向量,就以向量的索引

為橫坐標(biāo),以向量的元素值為縱坐標(biāo);

(2)plot(x,y):一般來說是繪制向量y的圖形,

橫坐標(biāo)為x的值,縱坐標(biāo)為y的值。x,y的維

數(shù)相同

(3)plot(x,y,l):這里'「表示用離散點顯示。

(4)plot(xl,y1,x2,y2):xl,yl的維數(shù)相同,

x2,y2的維數(shù)相同。

x=-pi:0.1:pi

y=sin(x)

Plot(y)

holdon%保留上一個圖形

plot(x,y)

說明:在pl。t(x,y,、,)中圖形設(shè)置選項s的規(guī)

點或線的顏色標(biāo)記點的形式線型1

k(黃)r,(點)(實線)?

M(紫紅)]'o'(圓圈)Y(點線)

'c'(青)'X,(叉).-.’(點劃淺)

,1,

'r‘(紅)—一(盅線))

'g'(綠)

'b'(蘭),s'(正方形)

(白),d,(菱形)1

'k'(黑)(向下三角形)

L'(向上三角形)

''響左三龜?。?/p>

'〉'(向右身形)

'P'(五角星)

■(六角形)

點或線的顏色標(biāo)記點的形式線型

黃)(點)■(實線)

(紫紅)'o’(圓圈)(點線)

%,(青)飛’(叉)(點劃線)

k(紅)'+'(虛線)

(綠)

―(蘭)飛,,正方形)

'w'(白)'d'(菱形)

'k‘(黑)‘V’(向下三角形)

L'(向上三角形)

(向左三角形)

'>'(向右三角形)

'p'(五角星)

口(六角形)

還有大小、線寬控制:如2

plot(1,1/ro'/markersize'jSO)

plot(1,1/linewidth',49)

x=0:0.1*pi:2*pi;

y=sin(x);

z=cos(x);

'?r)%分別用虛黑線和

點劃紅線顯示兩條曲線。

(5)polar(0,ij:畫出極坐標(biāo)函

數(shù)r=?0)的肉形

cita=0:0.1*pi:4*pi;

r=cita+sin(cita/2)

polar(cita,r)

(6)refline(k,b):畫平面參考線,

k為斜率,b為在y軸的截距

(7)ezplot(T(x))畫出f(x)的圖形。例

ezplot('sin(x))結(jié)果是在12*pi,2*pi]上畫出

圖形;

ezplot(4sin(xy,[-1,3]),結(jié)果是在11,3]上畫出

圖形.

f(x)可為sym型、char型、inline型和function

定義的函數(shù)。如:founctionf(x);仁x/2-1%這

里必須用.*、.八;調(diào)用:ezplot(@f)或ezplot

(嚇)O

(8)fplot(T(x)Ja,b]),結(jié)果是在『a,b]上畫出

圖形例fplot(&in(x)\[-1,3]),結(jié)果是在口3上畫

出圖形形(x)向為char型、inline型。

?三維圖形命令

(1)plot3(x,y,z):x,y,z為同維向量

時畫空間曲線,例畫出

x=sin(t),y=cos(t),x=t,

10E的圖形。

t=0:pi/50:10*pi;

z=t,x=sin(t),y=cos(t),plot3(x,y,

z);plot3(x,y,z+1,,-r,)

(2)plot3(x,y,z):當(dāng)z=f(x,y),(x,y)

為xoy平面上的網(wǎng)格節(jié)點時,它

可以畫出空間曲面z=f(x,y)的圖

形。

(3)mesh(x,y,z):畫出三維網(wǎng)格

圖。

(4)meshc(x,y,z):畫出三維網(wǎng)格

與等高線圖

(5)meshz(x,y,z):增加邊界面屏

蔽。

(6)surf(x,y,z):與mesh函數(shù)不

同的是把圖拓著色,surfc與

meshc類似。例

[x,y]=meshgrid(-2:0.1:2,-

2:0.1:2);z=x.A2+y.A2;

plot3(x,y,z)

holdon

meshc(x,y,z+8),

meshc(x,y,z+16),

%mesh(z)與mesh(x,y,z)的區(qū)別類

似于pIotjx)與pIot(x,y而應(yīng)別。

(7)ezplot3('x⑴7y(t),'z(t)',[a,b]):為參數(shù)在[a,b]

的范圍畫出x=x⑴,y=y(t),z=z(t)對應(yīng)的三維空

間曲線。^Jezplot3(,cos(t)),(sin(t)7t,,[0,10*pi])o

(8)ezmeshCx(u,v)\y(u,v”z(u,v)\[a,b,c,d]):在

awuwb,cwvwd的范圍,畫出參激方程

x=x(u,v),y=y(u,v),z=z(u,v)的對應(yīng)的曲面。

(9)ezsurf:ezsurf與ezmesh的區(qū)另U類彳以于surf

與mesh的區(qū)別。例

ezmesh('r*cos⑴',T*sin(t)',TA2',[0,2*pi])

畫出拋物面圖形。

(3)坐標(biāo)軸標(biāo)注xlabe(標(biāo)注'),

ylabel(癡注,)

(4)標(biāo)題標(biāo)注title(,標(biāo)題')

x="pi:0.1*pi:pi,y=sin(x)

plot(x,y),v=[-16,6,-1,2],axis(v)

gridon

xlabelCx-axis9),ylabel('y=sinx,)

title。正弦函數(shù)圖像')

(5)圖形保持holdon/off:hold

on是啟動圖形保持功能,在已存

在的一張圖中添加曲線,hold

off是關(guān)閉圖形保持功能。

(6)圖例標(biāo)注legend,標(biāo)注

'標(biāo)注2',…)

例x=0:0.1*pi:2*pi;

y=sin(x);z=cos(x);

holdon

plot(x,z/-of)

plot(x,y+z,'-h')

Iegend(ly=sinx,/z=cosx7y+z=sinx+

cosx

holdoff%關(guān)閉圖形保持

⑺子圖subplot(m,n,p):其功能

是把一個面形分成mXn個小

圖形窗口,通過參數(shù)p調(diào)用各

子窗口進(jìn)行操作。例

x=0:0.1*pi:2*pi;

y=sin(x);

z=cos(x);

subplot(2,2,1),plot(x,y1*')

subplot(2,2,2),plotfXjZj'"o')

subplot(2,2,3),plotfXjy+Zj'-h')

subplot(2,2,4),plot(x,y-z,'-x')

?圖形處理技術(shù)

(1)坐標(biāo)軸控制函數(shù)axis(v):對

二維圖形v=[a,b,c,d]淇中[a,b]和

[c,d]分別為x軸和y軸的范圍;對于

三維圖形曠二團(tuán)由上內(nèi)收用分別給出

x,y和z軸的范圍。例

(2)平面坐標(biāo)網(wǎng)格函數(shù)gridon/off:

作用是平面圖形帶有網(wǎng)格和取消網(wǎng)

寤。

五、程序設(shè)計

?MATLAB作為一種高級計算語言,

不僅可以做如上所講的那些工作,

還可以像basic,fortran,c等其它

高級計算機(jī)語言一樣進(jìn)行程序設(shè)

計,即編制以m為擴(kuò)展名的文本

文件(簡稱M文件)。

?M文件的形式

(1)命令式(script):命令式文

件就是命令行的簡單疊加,

MATLAB就會自動按順序執(zhí)行文

件中的命令,這樣就可以避免在

命令窗口運(yùn)行許多命令的麻煩和

重復(fù)行工作,也便于修改。其可

在命令窗口直接輸入文件名運(yùn)行

%sinfig.m

x="pi:0.1*pi:pi;

y=sin(x);

plot(x,y);

holdon;

plot(y,x)

(2)函數(shù)式(function):他主要解決

參數(shù)傳遞和函數(shù)調(diào)用問題,它的第

一句以function語旬為引導(dǎo)。木能

直接運(yùn)行,只能調(diào)用。

例%f.m文件名與函數(shù)名必須一致

functionf(x)

f=2*xA2+4*x+6

在命令窗口中輸入:f(O),f(1O)可以看

出結(jié)果。

例、建立一個名字為f的函數(shù)文件,該

函數(shù)為

f=cos2(x)

試計算該函數(shù)在x=1:10的函數(shù)值,

并給出離散點(x,f(x))的圖形。

(大家一起討論)

例、一個函數(shù)文件可以定義個函數(shù)

function[yl,y2,y3]=f(x)

yl=sin(x);

y2=cos(x);

y3=tan(x);

(3)數(shù)據(jù)文件:

用save,文件名','變量V,'變量2"……)或

save文件名變量1變量2變量3創(chuàng)建;

用load。文件名')或Load文件名調(diào)入到工作

間。

控制語句

(1)循環(huán)語句

(a)for循環(huán):例

s=0;

fork=1:1:10%初始值、步長和最大

限值

s=s+k;

end%循環(huán)結(jié)束標(biāo)志

(b)while循環(huán):例

s=0;

k=0;

whilek<=9

k=k+1;

s=s+k;

end

(c)if......else......end選擇語句:

編寫分段函數(shù)f(x)=x,(?

A

1=<x<0);f(x)=x2,(0<=x<=1)o

functiony=f(x)

ifx>=-1&x<0

y=x;

else

y=xA2;

end

(d)if...end語句:例

?fori=l:10

?ifi<8

?a(i)=100

?end

?end

?結(jié)果:a=

100100100100100100100

(e)if...elseif...elseif...else...end^

重選擇語句:例編寫函數(shù)文件:

functiony=f(x)

ifx>=-1&x<0,y=x;elseif

x>=0&x<=1,y=xA2;else,f=0

end

在命令窗口中輸入f(1),(3)可以得到結(jié)

果。

(f)swith變量

case1

語句

case2

語句

otherwise

語句

end

例、

?fori=1:6

?switchi

?case1

?a=1

?case2

?a=2

?case3

?a=3

?case4

?a=4

?otherwise

?b=0

?end

?end

例已知n=自己的真實學(xué)號,在xoy平面

有點

Aj二(i,0)

Bi=(i,n)

(i=0,1,2,??????,n)

現(xiàn)要畫連接AjB的線段(i,j=0,1,…,

n),試給出其MATLAB程序。

解現(xiàn)就學(xué)號為6,給出其程序如下:

n=6;x=0:n;y=0:n;

fori=1:7

forj=1:7

ifi==j

plot(x(i)*ones(size(y)),y);

xlabel('x');ylabel(V);title('AiBj的連線')

v=[0,n,0,n];axis(v)

holdon;

else

a=min(x(i),xG));b=max(x⑴

X1=a:0.1*(b-a):b;

Y1=?n/(x(i)?x(j))*(X1?x(i));%連接內(nèi)Bj的直線

plot(X1,Y1);

end

end

end

作業(yè):在上題的基礎(chǔ)上,再加上點

Ci=(O,i),Di=(n,i)

(i=0,1,2,……,n)

現(xiàn)要畫連接AiBj和CiBj的線段

(i,j=0,1,…,n),試給出其MAT

LAB程序。把運(yùn)行結(jié)果得到的圖像,

存放到WORD文件,文件名字取為:

真實姓名—真實學(xué)號,然后發(fā)送到

信箱:xtxyshx@126.com

六、主要命令匯總

1、常用信息

?help:在線幫助(顯示在命令窗)。

?helpwin:在線幫助(獨立窗口顯示)。

?ver:MATLAB及工具箱的版本信息。

2、管理工作區(qū)命令

?who:顯示當(dāng)前變量。

?whos:顯示當(dāng)前變量具體信息。

?clear:從內(nèi)存中清楚變量和函數(shù)。

?quit:退出MATLAB。

3、管理命令和函數(shù)

?what:顯示當(dāng)前目錄下的MATLAB

文件。

?edit:編輯M文件。edit健立編輯新

文件);edit+文件名(編輯已有

的文件)。

?which:找出函數(shù)和文件的位置。

?type:顯示M文件內(nèi)容。Type+文件

名。

?Inmem:顯示內(nèi)存中的函數(shù)。

4、操作系統(tǒng)命令

?dir:顯示目錄。

?pwd:顯示當(dāng)前工作目錄。

?delete:刪除文件。Delete+文件名。

?web:打開頁面瀏覽器加載文件。

5、數(shù)據(jù)類型

?double:雙精度類型

?sym:符號型

?Inline:內(nèi)聯(lián)對象

?char:字符數(shù)組或字符串。

?Uint8:無符號8位整數(shù)(unsignedinteger)

?char(sym型變量):把sym型轉(zhuǎn)化為char型

?sym(char型變量):把char型轉(zhuǎn)化為sym型

?char(inline型)和inline(char型)可相互轉(zhuǎn)化。

?num2str:數(shù)字轉(zhuǎn)化成字符串

6、數(shù)據(jù)基本操作

?max:最大元素。向量為數(shù),矩陣為向量

?min:最小元素。類似max.

?mean:求平均值。mean(a),a為向量

時得到向量平均值,結(jié)果為一

個數(shù);a為矩陣時,進(jìn)行每列

平均,得到一個向量。

?sum:元素和。sum(a),a為向量時得

到該向量各元素之和,結(jié)果為一

個數(shù);a為矩陣時,進(jìn)行每列

求和,得到一個向量。

?prod:元素積。prod(a)當(dāng)a為向量和

矩陣時的情況,類似于max(a)。

?cumsum:元素累和。cumsum(a),a

可為向量,也可為矩陣。

?cumprod:元素累積。a可為向量,

也可為矩陣。

7、基本矩陣函數(shù)

?zeros:零矩陣函數(shù)。

?ones:全1矩陣。

?eye:單位矩陣。

?rand:隨機(jī)數(shù)、向量、矩陣.

?linspace:線性等分向量。

8、基本數(shù)組操作

?size:矩陣大小。

?length:數(shù)組長度。

?isempty:判斷是不是空矩陣。

?isequal:判斷數(shù)組是否相等。

isequal(a,b)o

?isnumeric:判斷是否為數(shù)值矩陣。

?reshape:矩陣重置。

?tril:抽取下三角部分。

?triu:抽取上三角部分。

?flipk左右方向翻轉(zhuǎn)矩陣(flip:翻

轉(zhuǎn))。

?flipud:上下方向翻轉(zhuǎn)矩陣。

?rot90:逆時針把矩陣旋轉(zhuǎn)90度。

?find(x):[i,j]=find(x)查找x非零元下標(biāo)。

9、專用變量和常量

ans:最新答案。

pi:圓周率。

i,j:復(fù)數(shù)單位。

inf:無窮大。

NaN:不定數(shù)。

isnan:判斷不定數(shù)。

?isinf:判斷無窮大元素。

?isfinite:判斷有限大元素。

10、指數(shù)、對數(shù)函數(shù)

?exp:e指數(shù)函數(shù)。

?pow2:以2為底的塞函數(shù)。

?sqrt:平方根函數(shù)。

11、舍入函數(shù)和剩余函數(shù)

?fix:朝零方向舍入為整數(shù)。

?floor:朝負(fù)方向舍入為整數(shù)。

?ceil:朝正方向舍入為整數(shù)。

?round:四舍五入為整數(shù)。

?sign:符號函數(shù)。

?mod:無符號求余函數(shù)。mod(3,2)=1

?rem:帶符號求余函數(shù)。

12、復(fù)數(shù)函數(shù)

?abs:求模。

?conj:求共朝函數(shù)(conjugate)。

?angle:相角函數(shù)。

?imag:復(fù)矩陣虛部。

?real:復(fù)矩陣實部。

?isreal:實矩陣判斷函數(shù)。

12、矩陣函數(shù)

?norm:矩陣或向量范數(shù)。

?normest響量、矩陣2范數(shù)。

?rank:矩陣的秩。

?det:矩陣行列式的值。

?trace:矩陣的跡(主對角線元素之和)。

?inv:矩陣逆。

13、特征多項式、特征值

?poly:特征多項式。

?poly2sym:多項式表示。

,eig:特征值和特征向量。

?eigs:特征值。

14、矩陣函數(shù)

?expm:矩陣指數(shù)。

?logm:矩陣對數(shù)。

?sqrtm:矩陣平方根。

15、坐標(biāo)轉(zhuǎn)換

?cart2sph:轉(zhuǎn)換直角坐標(biāo)為球坐標(biāo)。

?cart2pol:轉(zhuǎn)換直角坐標(biāo)為極坐標(biāo)。

?pol2cart:轉(zhuǎn)換極坐標(biāo)為直角坐標(biāo)。

?sph2cart:轉(zhuǎn)換球坐標(biāo)為直角坐標(biāo)。

16、坐標(biāo)軸控制

?axis:控制坐標(biāo)軸范圍。

?gridon/off:柵格線保持、取消。

?Gridminor:較小網(wǎng)格。

?holdon/off:圖形保持/取消o

?boxon/off:圖形四周都顯示/常規(guī)坐標(biāo)

軸。

例1、

?[x,y]=meshgrid(0:0.5:10);

?z=y.*sin(x.人2)+cos(y);

?surf(x,y,z)

?v=[-20,10,-20,10,-10,50];%坐標(biāo)

軸范圍控制

?axis(v)%注意該語句必須在圖形顯

示語句的后面

說明:二維圖形是類似的。

例2、axis1控制字符串,):可以選

不同的字符串完成對坐標(biāo)軸的操作。

控制字符串有:

(1)auto:自動模式,使得圖形的坐

標(biāo)范圍滿足圖中一切圖元素。

(2)axis:將當(dāng)前坐標(biāo)設(shè)置[定,使

用hoId命令后,圖形仍以此作為坐標(biāo)

界限。

(3)manual:以當(dāng)前的坐標(biāo)限定繪

制。

(4)tight:將坐標(biāo)限控制在指定的數(shù)

據(jù)范圍內(nèi)。

(5)equal:使坐標(biāo)軸分度相等。

(6)off:取消對坐標(biāo)軸的一切設(shè)置,

包括系統(tǒng)的自動設(shè)置。

(7)on:恢復(fù)對坐標(biāo)軸的一切設(shè)置。

?[x,y]=meshgrid(-1:0.1:1,-1:0.1:1);

?z=x.A2+y.A2;

?surf(x,y,z)

?boxon

17、基本二維圖形

?plot:線性繪圖。

?loglog:雙對數(shù)坐標(biāo)圖。

?semilogx:半對數(shù)(x)坐標(biāo)圖。

?semilogy泮對數(shù)(y)坐標(biāo)圖。

,polar:極坐標(biāo)圖。

?subplot:分割圖窗

?refline⑸ope,intercept):加參考線

18、圖形注解

?legend:圖形標(biāo)簽.

?xlable:x軸標(biāo)簽。

?ylable:y軸標(biāo)簽。

,title:圖形題目o

?text:文字注解。

19、特殊二維圖形

?bar:條形圖。

,barh:水平柱圖。

,ezplot:符號函數(shù)圖。

?fplot:繪制字符串指定的函數(shù)名的函

數(shù)圖。如fplotCsin(x),,[2,3])。

?pie:餅圖。

?plotmatrix:繪矩陣點圖。

?stem:2維火柴桿圖。

?stem3:3維火柴桿圖。

20、等高線圖和向量圖

?contour:等高線圖。

?contour3:三維等高線圖。

?quiver:向量圖。

[x,y]=meshgrid(-2:.2:2,-1:.15:1);

z=x/exp(-x.A2-y.A2);

[px,py]=gradient(z,2);

contour(x,y,z),

holdon

quiver(x,y,px,py)

holdoff

21、特殊三維圖形

?comet3:三維彗星軌線(comet(x,y)畫

二維彗星線)。

t=-10*pi:pi/500:10*pi

comet3(sin(t),cos(t),t)

?meshc(x,y,z)湎出三維網(wǎng)格與等高線

圖,類似sutfc。

?meshz(x,y,z):增加邊界面屏蔽。

?stem3:三維火柴干圖。例

a=rand(3);

stem3(a);

22、固體模型

?cylinder:生成圓柱。格式為

[x,y,z]=cylinder(QH)J為母線半

徑,N為顯示的母線條數(shù)

mesh(x,y/)或surf(x,y/)顯示單位

高度柱面。

t=.l*pi:pi/20:l*pi;

r=5+cos(t);

[x,y/]=cylinder(r,30)

surf(x,y,z)

?sphere:生成單位球面。例

[x,y,z]=sphere(40)%40為子午線條

數(shù),sphere默認(rèn)為20條。

mesh(x,y,z)或surf(x,y/)%畫球面

axis(6equaP)%坐標(biāo)軸刻度相同

?[x,y,z]=sphere(50);mesh(x+l,y+2,z+2)畫出以(1,

2,2)為中心半徑為1的森面;

?[x,y,z]=sphere(50);mesh(x,y,abs(z))畫出以(0,0,0)

為中心半徑為1的上半個球面;

?[x9y,z]=sphere(50);

mesh(2*x,2*y,2*abs(z)),畫出以(0,0,0)為中

心的半徑為2上半個球面;

[x,y9z]=sphere(50);

?mesh(2*x,2*y,2*abs(z)),畫出以(0,0,0)為中

心的半徑為2上半個球面;

例、繞地球運(yùn)動的飛行物

?[x,y,z]=sphere(50);

?mesh(x,y,z);

?holdon

?v=[-6,6,-6,6,-6,6];

?axis(v);

?axis('off')

?t=0:pi/1000:200*pi;

?x=6*sin(t);

?y=2*cos(t);

?z=zeros(size(t));

?comet3(x,y,z)

23、四維表現(xiàn)圖

對于三維圖形自變量是二維的,對

于三個自變量的函數(shù)w=fx,y,z),其

其圖形應(yīng)該是四維的,由于我們所

處的空間和思維的局限性,在計算

機(jī)屏幕上只能表現(xiàn)出三維空間。為

了表現(xiàn)四維圖像,可利用三維實體

的四維切片色圖,用三維實體上的

顏色來描述函數(shù)值的變化情況。

?MATLAB中用slice函數(shù)來完成

(1)slice(x,y,z,w,sx,sy.sz):繪制向

量sx,sy,sz中的點沿x,y,z軸方向的切片

圖,W的大小決定了每一點的顏色。

(2)slice(x,y,z,w,xl,yl,zl):按數(shù)

組xl,yl,zl切片(按坐標(biāo)軸單位)。

(3)slice(w,xl,yl,zl):按數(shù)組xL

yl,zl切片(按x,y,z的網(wǎng)格單位進(jìn)行切片。

(4)slice(w,sx,sy,sz):按x,y,z的網(wǎng)

格單位進(jìn)行切片。

例、程序如下:

[x,y,z]=meshgrid(-2:0.2:2,-2:0.25:2,-2:0.16:2);

w=x.A2+y.A2+z.A2;

%slice(x,y,z,a,x,y,z)

x1=1:15;

y1=1:10;

z1=1:10

subplot(221),slice(x,y,乙w,1

subplot(2,2,2),slice(w,1,1,[0,1]);

subplot(2,2,3),slice(x,y,z,w,x1,y1,z1);holdon

subplot(2,2,4),slice(w,x1,y1,z1);

colorbar%色軸,它可以標(biāo)注顏色與數(shù)值之間的關(guān)系

24、數(shù)據(jù)文件

(1)Sav

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論