




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章MATLAB概論
1.1與其他計(jì)算機(jī)語(yǔ)言相比較,MATLAB語(yǔ)言突出的特點(diǎn)是什么?
MATLAB具有功能強(qiáng)大、使用方便、輸入簡(jiǎn)捷、庫(kù)函數(shù)豐富、開(kāi)放性強(qiáng)等特
點(diǎn)。
1.2MATLAB系統(tǒng)由那些部分組成?
MATLAB系統(tǒng)主要由開(kāi)發(fā)環(huán)境、MATLAB數(shù)學(xué)函數(shù)庫(kù)、MATLAB語(yǔ)言、圖形
功能和應(yīng)用程序接口五個(gè)部分組成。
1.3安裝MATLAB時(shí),在選擇組件窗口中哪些部分必須勾選,沒(méi)有勾選的部
分以后如何補(bǔ)安裝?
在安裝MATLAB時(shí),安裝內(nèi)容由選擇組件窗口中個(gè)復(fù)選框是否被勾選來(lái)決定,
可以根據(jù)自己的需要選擇安裝內(nèi)容,但基本平臺(tái)(即MATLAB選項(xiàng))必須安裝。
第一次安裝沒(méi)有選擇的內(nèi)容在補(bǔ)安裝時(shí)只需按照安裝的過(guò)程進(jìn)行,只是在選擇組
件時(shí)只勾選要補(bǔ)裝的組件或工具箱即可。
1.4MATLAB操作桌面有兒個(gè)窗口?如何使某個(gè)窗口脫離桌面成為獨(dú)立窗
口?又如何將脫離出去的窗口重新放置到桌面上?
在MATLAB操作桌面上有五個(gè)窗口,在每個(gè)窗口的右上角有兩個(gè)小按鈕,一
個(gè)是關(guān)閉窗口的Close按鈕,一個(gè)是可以使窗口成為獨(dú)立窗口的Undock按鈕,點(diǎn)
擊Undock按鈕就可以使該窗口脫離桌面成為獨(dú)立窗口,在獨(dú)立窗口的view菜單
中選擇Dock……菜單項(xiàng)就可以將獨(dú)立的窗口重新防止的桌面上。
1.5如何啟動(dòng)M文件編輯/調(diào)試器?
在操作桌面上選擇“建立新文件”或“打開(kāi)文件”操作時(shí),M文件編輯/調(diào)試
器將被啟動(dòng)。在命令窗口中鍵入edit命令時(shí)也可以啟動(dòng)M文件編輯/調(diào)試器。
1.6存儲(chǔ)在工作空間中的數(shù)組能編輯嗎?如何操作?
存儲(chǔ)在工作空間的數(shù)組可以通過(guò)數(shù)組編輯器進(jìn)行編輯:在工作空間瀏覽器中雙
擊要編輯的數(shù)組名打開(kāi)數(shù)組編輯器,再選中要修改的數(shù)據(jù)單元,輸入修改內(nèi)容即
可。
1.7命令歷史窗口除了可以觀察前面鍵入的命令外,還有什么用途?
命令歷史窗口除了用于查詢以前鍵入的命令外,還可以直接執(zhí)行命令歷史窗口
中選定的內(nèi)容、將選定的內(nèi)容拷貝到剪貼板中、將選定內(nèi)容直接拷貝到M文件中。
1.8如何設(shè)置當(dāng)前目錄和搜索路徑,在當(dāng)前目錄上的文件和在搜索路徑上的文
件有什么區(qū)別?
當(dāng)前目錄可以在當(dāng)前目錄瀏覽器窗口左上方的輸入欄中設(shè)置,搜索路徑可以通
過(guò)選擇操作桌面的file菜單中的SetPath菜單項(xiàng)來(lái)完成。在沒(méi)有特別說(shuō)明的情況
下,只有當(dāng)前目錄和搜索路徑上的函數(shù)和文件能夠被MATLAB運(yùn)行和調(diào)用,如果
在當(dāng)前目錄上有與搜索路徑上相同文件名的文件時(shí)則優(yōu)先執(zhí)行當(dāng)前目錄上的文
件,如果沒(méi)有特別說(shuō)明,數(shù)據(jù)文件將存儲(chǔ)在當(dāng)前目錄上。
1.9在MATLAB中有幾種獲得幫助的途徑?
在MATLAB中有多種獲得幫助的途徑:
(1)幫助瀏覽器:選擇view菜單中的Help菜單項(xiàng)或選擇Help菜單中的
MATLABHelp菜單項(xiàng)可以打開(kāi)幫助瀏覽器;
(2)help命令:在命令窗口鍵入“help”命令可以列出幫助主題,鍵入“help
函數(shù)名”可以得到指定函數(shù)的在線幫助信息;
(3)lookfor命令:在命令窗口鍵入"lookfor關(guān)鍵詞”可以搜索出一系列與
給定關(guān)鍵詞相關(guān)的命令和函數(shù)
(4)模糊查詢:輸入命令的前幾個(gè)字母,然后按Tab鍵,就可以列出所有以
這幾個(gè)字母開(kāi)始的命令和函數(shù)。
注意:lookfor和模糊查詢查到的不是詳細(xì)信息,通常還需要在確定了具體函
數(shù)名稱后用help命令顯示詳細(xì)信息。
第2章MATLAB矩陣運(yùn)算基礎(chǔ)
2.1在MATLAB中如何建立矩陣。73L并將其賦予變量a?
491
?a=[573;491]
2.2有兒種建立矩陣的方法?各有什么優(yōu)點(diǎn)?
可以用四種方法建立矩陣:
①直接輸入法,如a=[2573],優(yōu)點(diǎn)是輸入方法方便簡(jiǎn)捷;
②通過(guò)M文件建立矩陣,該方法適用于建立尺寸較大的矩陣,并且易于修改;
③由函數(shù)建立,如丫=$也儀),可以由MATLAB的內(nèi)部函數(shù)建立一些特殊矩陣;
④通過(guò)數(shù)據(jù)文件建立,該方法可以調(diào)用由其他軟件產(chǎn)生數(shù)據(jù)。
2.3在進(jìn)行算術(shù)運(yùn)算時(shí),數(shù)組運(yùn)算和矩陣運(yùn)算各有什么要求?
進(jìn)行數(shù)組運(yùn)算的兩個(gè)數(shù)組必須有相同的尺寸。進(jìn)行矩陣運(yùn)算的兩個(gè)矩陣必須滿
足矩陣運(yùn)算規(guī)則,如矩陣a與b相乘(a*b)時(shí)必須滿足a的列數(shù)等于b的行數(shù)。
2.4數(shù)組運(yùn)算和矩陣運(yùn)算的運(yùn)算符有什么區(qū)別?
在加、減運(yùn)算時(shí)數(shù)組運(yùn)算與矩陣運(yùn)算的運(yùn)算符相同,乘、除和乘方運(yùn)算時(shí),在
矩陣運(yùn)算的運(yùn)算符前加一個(gè)點(diǎn)即為數(shù)組運(yùn)算,如a*b為矩陣乘,a.*b為數(shù)組乘。
5351「242
2.5計(jì)算矩陣374與679之和。
798J1836
?a=[535;374;798];
?b=[242;679;836];
?a+b
ans=
777
91413
151214
2.6求》=4+8i3+5i2-7il+4i了的共輾轉(zhuǎn)置。
3+2i7-6i9+4i3-9i
?x=[4+8i3+5i2-7il+4i7-5i;3+2i7-6i9+4i3-9i4+4i];
?x'
ans=
4.0000-8.0000i3.0000-2.0000i
3.0000-5.0000i7.0000+6.0000i
2.0000+7.0000i9.0000-4.0000i
1.0000-4.0000i3.0000+9.0000i
7.0000+5.0000i4.0000-4.0000i
2.7計(jì)算93]與4I]的數(shù)組乘積。
275j[468
?a=[693;275];
?b=[241;468];
?a.*b
ans=
12363
84240
2.8“左除”與“右除”有什么區(qū)別?
在通常情況下,左除x=a\b是a*x=b的解,右除x=b/a是x*a=b的解,一般情
況下,a\bwb/a。
-492
2.9對(duì)于AX=8,如果A=764,B=26,求解X。
35728
?A=[492;764;357];
?B=[372628]';
?X=A\B
X=
-0.5118
4.0427
1.3318
123
2.10已知:”456,分別計(jì)算a的數(shù)組平方和矩陣平方,并觀察其結(jié)果。
789
?a=[123;456;789];
?a.A2
ans=
149
162536
496481
?aA2
ans=
303642
668196
102126150
2.11?=PJ5],,J8-741觀察q與8之間的六種關(guān)系運(yùn)算的結(jié)果。
36-4j[362
?a=[123;456];
?b=[8-74;362];
?a>b
ans=
010
101
?a>=b
ans=
010
101
?a<b
ans=
101
010
?a<=b
ans=
101
010
?a==b
ans=
000
000
?a-=b
ans=
111
111
2.12a=\50.20-8-0.7],在進(jìn)行邏輯運(yùn)算時(shí),Q相當(dāng)于什么樣的邏輯量。
相當(dāng)于a=[l1011]。
2.13在sin(x)運(yùn)算中,x是角度還是弧度?
在sin(x)運(yùn)算中,x是弧度,MATLAB規(guī)定所有的三角函數(shù)運(yùn)算都是按弧度進(jìn)
行運(yùn)算。
2.14角度x=[304560],求龍的正弦、余弦、正切和余切。
?x=[304560];
?xl=x/180*pi;
?sin(xl)
ans=
0.50000.70710.8660
?cos(xl)
ans=
0.86600.70710.5000
?tan(xl)
ans=
0.57741.00001.7321
?cot(xl)
ans=
1.73211.00000.5774
2.15用四舍五入的方法將數(shù)組[2.45686.39823.93758.5042]取整。
?b=[2.45686.39823.93758.5042];
?round(b)
ans=
2649
-912
2.16矩陣a=563分別對(duì)Q進(jìn)行特征值分解、奇異值分解、LU分解、QR
827
分解及Chollesky分解。
>>[v,d]=eig(a,b)
v=
-0.4330-0.2543-0.1744
-0.56570.9660-0.6091
-0.70180.04720.7736
13.548200
04.83030
003.6216
?a=[912;563;827];
?[u,s,v]=5vd(a)
u=
-0.56010.5320-0.6350
-0.4762-0.8340-0.2788
-0.67790.14620.7204
15.523400
04.56480
003.3446
v=
-0.82750.3917-0.4023
-0.3075-0.9156-0.2592
-0.4699-0.09070.8781
>>[1,u]=1u(a)
1=
1.000000
0.55561.00000
0.88890.20411.0000
u=
9.00001.00002.0000
05.44441.8889
004.8367
>>[q,r]=qr(a)
q=
-0.69030.3969-0.6050
-0.3835-0.9097-0.1592
-0.61360.12210.7801
r
-13.0384-4.2183-6.8260
0-4.8172-1.0807
3.7733
>>c=chol(a)
3.00000.33330.6667
2.42671.1447
2.2903
2.17將矩陣4組合成兩個(gè)新矩陣:
7
(1)組合成一個(gè)4x3的矩陣,第一列為按列順序排列的a矩陣元素,第二列
為按列順序排列的b矩陣元素,第三列為按列順序排列的c矩陣元素,即
475
586
219
732
(2)按照a、b、C的列順序組合成一個(gè)行矢量,即
[452778135692]
?a=[42;57];
?b=[71;83];
>>c=[59;62];
%(1)
?d=[a(:)b(:)c(1)]
d=
475
586
219
732
%(2)
?e=[a(:);b(:);c(:)]'
e=
452778135692
或利用(1)中產(chǎn)生的d
>>e=reshape(d,l,12)
ans=
452778135692
第3章數(shù)值計(jì)算基礎(chǔ)
3.1將(x-6)(x-3)(九-8)展開(kāi)為系數(shù)多項(xiàng)式的形式。
>>a=[638];
>>pa=poly(a);
>>ppa=poly2sym(pa)
ppa=
xA3-17*xA2+90*x-144
3.2求解多項(xiàng)式X3_7,+2x+4o的根。
>>r=[l-7240];
>>p=roots(r);
-0.2151
0.4459
0.7949
0.2707
3.3求解在x=8時(shí)多項(xiàng)式(九-1)(尤-2)(%-3)(x-4)的值。
?p=poly([1234]);
>>polyvalm(p,8)
ans=
840
3.4計(jì)算多項(xiàng)式乘法(*+2]+2)(/+5%+4)。
>>c=conv([l22],[154J)
c=
1716188
3.5計(jì)算多項(xiàng)式除法(3d+13d+6x+8)/a+4)。
>>d=deconv([31368],[14])
d二
312
3.6對(duì)下式進(jìn)行部分分式展開(kāi):
3%4+2x3+5x2+4x+6
x5+3x4+4X3+2X2+7X+2
>>a=[l34272];
?b=[32546];
>>[r,s,k]=residue(b,a)
1.1274+1.1513i
1.1274-1.1513i
-0.0232-0.0722i
-0.0232+0.0722i
0.7916
s=
-1.7680+1.2673i
-1.7680-1.2673i
0.4176+1.1130i
0.4176-1.1130i
-0.2991
k=
[]
3.7計(jì)算多項(xiàng)式4x—2x3-14x2+5x+9的微分和積分。
>>p=[4-12-145];
>>pder=polyder(p);
>>pders=poly2sym(pder)
>>pint=polyint(p);
>>pints=poly2sym(pint)
pders=
12*xA2-24*x-14
pints=
XA4-4*XA3-7*XA2+5*X
29013
3.8解方程組3411x=6
2266
>>a=[290;3411;226J;
?b=[1366],;
>>x=a\b
7.4000
-0.2000
-1.4000
3.9求欠定方程組?::1=丹的最小范數(shù)解。
9356J[5
>>a=[2474;9356];
>>b=[85]';
>>x=pinv(a)*b
-0.2151
0.4459
0.7949
0.2707
3.10有一組測(cè)量數(shù)據(jù)如下表所示,數(shù)據(jù)具有y=f的變化趨勢(shì),用最小二乘法
求解y。
Xi1.522.533.544.55
12.16.18.26.
-1.42.735.98.4
y2682
?x=[l1.522.533.544.55]'
?y=[-1.42.735.98.412.216.618.826.2]'
>>e=[ones(size(x))x.A2]
>>c=e\y
?xl=[l:0.1:5],;
>>y1=[ones(size(x1)),x1.A2]*c;
>>plot(x,y,'ro',xl,yl,'k')
42-6
3.11矩陣a=754,計(jì)算a的行列式和逆矩陣。
349
?a=[42-6;754;349];
>>ad=det(a)
>>ai=inv(a)
ad=
-64
ai=
-0.45310.6562-0.5937
0.7969-0.84370.9062
-0.20310.1562-0.0937
3.12y=sin(%),x從0至2n,Ax=0.02兀,求y的最大值、最小值、均值和標(biāo)準(zhǔn)
差。
>>x=0:0.02*pi:2*pi;
>>y=sin(x);
>>ymax=max(y)
>>ymin=min(y)
>>ymean=mean(y)
>>ystd=std(y)
ymax=
1
ymin=
-1
ymean=
2.2995e-017
ystd=
0.7071
3.13x=[l2345],y=[246810],計(jì)算X的協(xié)方差、y的協(xié)方差、X與y的
互協(xié)方差。
?x=[l2345];
?y=[246810];
>>cx=cov(x)
>>cy=cov(y)
>>cxy=cov(x,y)
ex=
2.5000
cy=
10
exy=
2.50005.0000
5.000010.0000
3.14參照例3-20的方法,計(jì)算表達(dá)式z=的梯度并繪圖。
>>v=~2:0.2:2;
>>[x,y]=meshgrid(v);
>>z=10*(x.A3-y.A5).*exp(-x.A2-y.A2);
>>[px,py]=gradient(z,.2,.2);
>>contour(x,y,z)
>>holdon
>>quiver(x,y,px,py)
>>holdoff
3.15有一正弦衰減數(shù)據(jù)y=sin(x).*exp(-x/10),其中x=0:pi/5:4*pi,用三次樣條
法進(jìn)行插值。
>>x0=0:pi/5:4*pi;
>>yO=sin(xO).*exp(-x0/10);
>>x=0:pi/20:4*pi;
>>y=spline(xO,yO,x);
>>plot(xO,y0,'or',x,y,'b')
第4章符號(hào)數(shù)學(xué)基礎(chǔ)
4.1創(chuàng)建符號(hào)變量有兒種方法?
MATLAB提供了兩種創(chuàng)建符號(hào)變量和表達(dá)式的函數(shù):sym和syms。
sym用于創(chuàng)建一個(gè)符號(hào)變量或表達(dá)式,用法如xusymCx5)及f=sym(tx+y+z,),
syms用于創(chuàng)建多個(gè)符號(hào)變量,用法如symsxyz。
f=sym('x+y+z')
相當(dāng)于
symsxyz
f=x+y+z
4.2下面三種表示方法有什么不同的含義?
(1)f=3*x"+5*x+2
(2)f='3*xA2+5*x+2'
(3)x=sym('x')
f=3*x^2+5*x+2
(1)f=3*x^2+5*x+2
表示在給定x時(shí),將3*x"+5*x+2的數(shù)值運(yùn)算結(jié)果賦值給變量f,如果沒(méi)有給
定x則指示錯(cuò)誤信息。
(2)f='3*xA2+5*x+2'
表示將字符串'3*xA2+5*x+2賦值給字符變量f,沒(méi)有任何計(jì)算含義,因此也不
對(duì)字符串中的內(nèi)容做任何分析。
(3)x=sym('x')
f=3*xA2+5*x+2
表示x是一個(gè)符號(hào)變量,因此算式f=3*x"+5*x+2就具有了符號(hào)函數(shù)的意義,
f也自然成為符號(hào)變量了。
4.3用符號(hào)函數(shù)法求解方程a『+b*f+c=O。
>>r=solve('a*tA2+b*t+c=0','t')
r=
[l/2/a*(-b+(bA2-4*a*c)A(l/2))]
[l/2/a*(-b-(bA2-4*a*c)A(l/2))]
4.4用符號(hào)計(jì)算驗(yàn)證三角等式:
sin((p\)cos(^)-cos((p\)sin((pi)=sin(°r6)
>>symsphilphi2;
>>y=simple(sin(phi1)*cos(phi2)-cos(phil)*sin(phi2))
y=
sin(phil-phi2)
4.5求矩陣A」M的行列式值、逆和特征根。
_a2\a22_
?symsallal2a21a22;
>>A=[all,al2;a21,a22]
>>AD=det(A)%行列式
?AI=inv(A)%逆
?AE=eig(A)%特征值
A=
[all,al2]
[a21,a22]
AD=
all*a22-al2*a21
AI=
[-a22/(-all*a22+al2*a21),al2/(-all*a22+al2*a21)]
[a21/(-all*a22+al2*a21),-all/(-all*a22+al2*a21)]
AE=
[l/2*all+l/2*a22+l/2*(allA2-2*all*a22+a22人2+4*al2*a21)Nl/2)]
AA
[l/2*a11+l/2*a22-l/2*(a112-2*a11*a22+a22A2+4*a12*a2l)(l/2)]
4.6因式分解:X4-5X3+5X2+5X-6
>>symsx;
>>f=xA4-5*xA3+5*xA2+5*x-6;
>>factor(f)
ans=
(x-l)*(x-2)*(x-3)*(x+l)
71
4.7°J-7,用符號(hào)微分求df/dx。
eaxlog(x)sin(x)
>>symsax;
>>f=[a,xA2,1/x;exp(a*x),log(x),sin(x)];
?df=diff(f)
df=
[0,2*x,-l/xA2]
[a*exp(a*x),1/x,cos(x)]
4.8求代數(shù)方程組關(guān)于x,y的解。
>>S=solve('a*xA2+b*y+c=0',,b*x+c=0',,x','y,);
>>disp('S.x='),disp(S.x)
>>disp('S.y='),disp(S.y)
S.x=
-c/b
S.y=
-c*(a*c+bA2)/bA3
4.9符號(hào)函數(shù)繪圖法繪制函數(shù)x=sin(3t)cos(t),y=sin(3t)sin(t)的圖形,t的變化
范圍為[0,2汨。
>>symst
>>ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),[0,pi])
x-s?n(31)cos(t).y=sin(31)sin(r)
4.10繪制極坐標(biāo)下sin(3*t)*cos(t)的圖形。
>>symst
>>ezpolar(sin(3*t)*cos(t)
第5章基本圖形處理功能
5.1繪制曲線y=l+x+l,X的取值范圍為[-5,5]。
>>x=-5:0.2:5;
>>y=x.A3+x+l;
>>plot(x,y)
150
5.2有一組測(cè)量數(shù)據(jù)滿足),=e*t的變化范圍為。?10,用不同的線型和標(biāo)記點(diǎn)
1S1出a=0.1、a=0.2和a=0.5三種情況下的曲線。
>>t=0:0.5:10;
>>yl=exp(-0.1*t);
>>y2=exp(-0.2*t);
>>y3=exp(-0.5*t);
>>plot(t,yl,'-ob',t,y2,':*r',t,y3,'-.Ag')
5.3在5.1題結(jié)果圖中添加標(biāo)題y=e,并用箭頭線標(biāo)識(shí)出各曲線a的取值。
>>title('\ity\rm=eA{-\itat}')
>>title('\ity\rm=eA{-\itat}','FontSize',12)
>>text(t(6),yl(6),,\leftarrow\ita\rm=0.r,'FontSize',11)
>>text(t(6),y2(6),'\leftarrow\ita\rm=0.2','FontSize',11)
>>text(t(6),y3(6),'\leftarrow\ita\rm=0.5','FontSize',11)
5.4在5.1題結(jié)果圖中添加標(biāo)題y=”和圖例框。
>>title('\ity\rm=eA{-\itat}','FontSize',12)
?legend('a=0.1','a=0.2','a=05)
5.5表中列出了4個(gè)觀測(cè)點(diǎn)的6次測(cè)量數(shù)據(jù),將數(shù)據(jù)繪制成為分組形式和堆疊
形式的條形圖。
第1第2第3第4第5第6
次次次次次次
觀測(cè)367428
點(diǎn)1
觀測(cè)
673247
八占、、2一
觀測(cè)
972584
點(diǎn)3
觀測(cè)
643274
點(diǎn)4
?y=[3696;6774;7323;4252;2487;8744];
>>bar(y)
>>bar(y,'stack')
3456
5.6x=[6649715638],繪制餅圖,并將第五個(gè)切塊分離出來(lái)。
?x=[6649715638];
?L=[00001];
>>pie(x,L)
14%
20%
25%
5.7z=xe/T,當(dāng)x和y的取值范圍均為-2到2時(shí)-,用建立子窗口的方法在同
一個(gè)圖形窗口中繪制出三維線圖、網(wǎng)線圖、表面圖和帶渲染效果的表面圖。
>>[x,yJ=meshgrid([-2:.2:2]);
>>z=x.*exp(-x.A2-y.A2);
>>mesh(x,y,z)
>>subplot(2,2,l),plot3(x,y,z)
>>title('plot3(x,y,z)')
>>subplot(2,2,2),mesh(x,y,z)
>>title('mesh(x,y,z)')
>>subplot(2,2,3),surf(x,y,z)
>>title('surf(x,y,z)')
>>subplot(2,2,4),surf(x,y,z),shadinginterp
>>title('surf(x,y,z),shadinginterp')
plot3(x.y,z)
5
0.5-o,
-O.
o
0-
5
-0.5-2
2
surf(x,y,z)
5
o.
-O.
o
5
2
5.8繪制peaks函數(shù)的表面圖,用colormap函數(shù)改變預(yù)置的色圖,觀察色彩的
分布情況。
>>surf(peaks(30));
>>colormap(hot)
>>colormap(cool)
>>colormap(lines)
5.9用sphere函數(shù)產(chǎn)生球表面坐標(biāo),繪制不通明網(wǎng)線圖、透明網(wǎng)線圖、表面圖
和帶剪孔的表面圖。
>>[x,y,z]=sphere(30);
>>mesh(x,y,z)
>>mesh(x,y,z),hiddenoff
>>surf(x,y,z)
>>z(18:30,1:5)=NaN*ones(13,5);
>>surf(x,y,z)
5.10將5.9題中的帶剪孔的球形表面圖的坐標(biāo)改變?yōu)檎叫?,以使球面看起?lái)
是圓的而不是橢圓的,然后關(guān)閉坐標(biāo)軸的顯示。
axissquare
axisoff
第6章高級(jí)圖形處理功能
6.1軸對(duì)象是使用的最多的圖形對(duì)象之一,那么軸對(duì)象是哪個(gè)對(duì)象的子對(duì)象,
又是那些對(duì)象的父對(duì)象?
軸對(duì)象是圖形窗口對(duì)象的子對(duì)象,是圖像、燈光、線、塊、矩形、表面、字
的父對(duì)象。
6.2什么是圖形句柄?圖形句柄有什么用途?
圖形句柄是每個(gè)圖形對(duì)象從產(chǎn)生時(shí)起就被賦予的一個(gè)唯一的標(biāo)識(shí)。利用圖形
句柄既可以操縱一個(gè)已經(jīng)存在的圖形對(duì)象的屬性,也可以在建立圖形對(duì)象時(shí)指定
屬性的值,特別是對(duì)指定對(duì)象句柄的操作不會(huì)影響同時(shí)存在的其他對(duì)象,這是非
常有用的。
6.3如何設(shè)置和獲取指定句柄對(duì)象的屬性值?一圖形窗口對(duì)象的句柄為h,先
查詢?cè)摯翱趯?duì)象可以設(shè)置的各種屬性,再將窗口的灰色背景設(shè)置為白色背景。
(1)利用set(句柄,'屬性名稱’,屬性值)語(yǔ)句可以設(shè)置指定對(duì)象的屬性,
get(句柄,,屬性名稱')語(yǔ)句可以獲得指定對(duì)象的屬性。
(2)>>set(h)
Alphamap
BackingStore:[{on}Ioff]
CloseRequestFcn:string-or-functionhandle-or-cellarray
Color
Colormap
CurrentAxes
CurrentCharacter
Currentobject
從列出的屬性內(nèi)容可以看到,設(shè)置背景顏色的屬性名為Color,因此
>>set(h,,color,,,w,)
即可將圖形窗口的背景色改為白色。
6.4已知三維圖形視角的缺省值是方位角為-37.5°,仰角為30°,將觀察點(diǎn)順
時(shí)針旋轉(zhuǎn)20。角的命令是什么?
>>view(-57.5,30)
6.5畫(huà)一雙峰曲面(peaks)圖,加燈光light,改變光源的位置觀察圖形的變化。
>>surf(peaks)
>>shadinginterp
>>lightingphong
>>light('Position',[-3-21]);
>>light('Position',[-l01]);
6.6在雙峰曲面上改變不同的光照模式,觀察效果。
>>surf(peaks)
>>shadinginterp
>>lightCPosition^-S-21J);
>>lightingflat
>>lightinggouraud
>>lightingphong
>>lightingnone
to
6.7用subplot語(yǔ)句在一個(gè)圖形窗口上開(kāi)多個(gè)大小不等的子窗口進(jìn)行繪圖并添
加注釋,見(jiàn)圖。
>>subplot('position',[0.1,0.15,0.3,0.65])
>>hist(randn(1,1000),20);
?xlabel(,直方圖)
>>subplot('position',[0.45,0.52,0.25,0.28])
>>[xp,yp,zp]=peaks;
>>contour(xp,yp,zp,15,'k')
>>holdon
>>pcolor(xp,yp,zp)
>>shadinginterp
>>holdoff
>>axisoff
?text(-L2,-4;偽彩色圖)
>>subplot('position',[0.72,0.5,0.25,0.3])
>>sphere(25);
>>axisequal,axis([-0.75,0.75,-0.75,0.75,-0.75,0.75])
?light('Position',[l32]);
>>light('Position',[-3-13J);
>>materialshiny
>>axisoff
?text(-0.8,-0.7,-l,'三維圖')
>>subplot('position',[0.45,0.15,0.5,0.25])
>>t=0:pi/15:pi;
>>y=sin(4*t).*sin(t)/2;
>>plot(t,y,'-bs','LineWidth',2,...%設(shè)置線型
'MarkerEdgeColor','k',...%設(shè)置標(biāo)記點(diǎn)邊緣顏色
'MarkerFaceColor','y',...%設(shè)置標(biāo)記點(diǎn)填充顏色
'MarkerSize',5)
>>axis([0,3.14,-0.5,0.5])
>>xlabelC帶標(biāo)記點(diǎn)的線圖,)
>>subplot('position',[0.1,0.9,0.8,0.1])
?text(0.25Q2,'多窗口繪圖示例
>>fontsize',25,'fontname','隸書(shū)'color',、')
>>axisoff
6.8用[c,hc]=contour(peaks(30))語(yǔ)句繪制雙峰曲面的等高線圖,通過(guò)控制圖形
句柄的方法將第四條等高線加粗為2磅,將第六條等高線表示為虛線,在第十條
等高線上加星號(hào)標(biāo)記
>>[c,hc]=contour(peaks(30));
>>set(hc(4),'linewidth',2)
>>set(hc(6),'edgecolor',[1,0.8,0],'linestyle',':')
>>set(hc(10),'marker','*')
6.9做一個(gè)花瓶,如圖示。(提示:做一個(gè)旋轉(zhuǎn)體表面,調(diào)入一幅圖像對(duì)該表
面進(jìn)行彩繪,即用圖像的色圖索引作為表面體的色圖索弓I)
?t=(0:20)/20;
>>r=sin(2*pi*t)+2;
>>[x,y,z]=cylinder(r,40);%產(chǎn)生旋轉(zhuǎn)體表面的三維數(shù)據(jù)
>>cx=imread('flowers.tif);%讀取名為flowers.tif的圖象文件
>>[c,map]=rgb2ind(cx,256);%真彩色圖轉(zhuǎn)換為索引圖(若讀入的是索引
圖,不需轉(zhuǎn)換)
>>cl=double(c)+l;%把unit8編址圖象數(shù)據(jù)變換為雙精度格式
>>surface(x,y,z,'Cdata',flipud(c1),'FaceColor','texturemap',...
'EdgeColor','none','CDataMapping','direct','Ambient',...
0.6,'diffuse',0.8,'speculars',0.9)%通過(guò)屬性設(shè)置,進(jìn)行彩繪。
>>colormap(map)%使用圖象的色圖
>>view(-50,10)
>>axisoff
6.10用圖形窗口功能在圖形窗口中的任意位置產(chǎn)生多個(gè)大小不等的子窗口,
與6.7題結(jié)果進(jìn)行比較。
提示:
(1)使用figure命令創(chuàng)建一個(gè)新的圖形窗口;
(2)在圖形窗口的Insert菜單中選擇Axes項(xiàng),鼠標(biāo)指針由箭頭變?yōu)槭?,?/p>
下鼠標(biāo)左鍵在圖形窗口的任意位置拖曳創(chuàng)建一個(gè)坐標(biāo)軸對(duì)象;
(3)重復(fù)2創(chuàng)建其他坐標(biāo)軸對(duì)象。
6.11利用圖形窗口的曲線擬合工具,選擇不同的擬合方法對(duì)給定的數(shù)據(jù)
y=[9,18,21,19,22,25,20,14,12,0]進(jìn)行曲線擬合,觀察不同的擬合效果。
提示:
(1)使用plot函數(shù)繪圖;
(2)在圖形窗口的Tools菜單中選擇BasicFitting項(xiàng),打開(kāi)曲線擬合工具;
(3)選擇合適的擬合方法。
第7章GUI程序設(shè)計(jì)
7.1GUI開(kāi)發(fā)環(huán)境中提供了哪些方便的工具?各有什么用途?
在GUI開(kāi)發(fā)環(huán)境中提供了下列五個(gè)方便的工具:
(1)布局編輯器(LayoutEditor)一在圖形窗口中創(chuàng)建及布置圖形對(duì)象
(2)幾何排列工具(AlignmentTool)一調(diào)整各對(duì)象之間的相互幾何關(guān)系和位
(3)屬性編輯器(PropertyInspector)一查詢并設(shè)置對(duì)象的屬性值
(4)對(duì)象瀏覽器(ObjectBrowser)一獲得當(dāng)前MATLAB窗口中圖形對(duì)象句
柄的分級(jí)排列
(5)菜單編輯器(MenuEditor)一建立和編輯主菜單和圖形對(duì)象的鼠標(biāo)右鍵
菜單
7.2做一個(gè)帶按鈕的界面,當(dāng)按動(dòng)按鈕時(shí),在計(jì)算機(jī)聲卡中播放一段音樂(lè)。(提
示,找一個(gè).wav文件,簡(jiǎn)單起見(jiàn)可以在windows目錄下找一個(gè)文件,將其放在當(dāng)
前工作目錄下或搜索路徑上,當(dāng)按動(dòng)“開(kāi)始”按鈕時(shí)調(diào)入該文件并播放,發(fā)聲功
能由sound函數(shù)完成,具體用法請(qǐng)查閱幫助信息)
簡(jiǎn)單聲音播放器
開(kāi)始帶放
(1)先建立一個(gè)靜態(tài)文本對(duì)象作為界面的標(biāo)題“簡(jiǎn)單聲音播放器”
(2)建立一個(gè)按鈕對(duì)象用于啟動(dòng)播放器,callback函數(shù)中的內(nèi)容為
[y,f,b]=wavread('loff);%讀入聲音文件loff.wav
sound(y,f,b)%由聲卡播放聲音
(3)再建立一個(gè)用于關(guān)閉界面的按鈕對(duì)象,callback函數(shù)中的內(nèi)容為
close(gcbf)
7.3做一個(gè)滑條(滾動(dòng)條)界面,圖形窗口標(biāo)題設(shè)置為GUIDemo:Slider,并
關(guān)閉圖形窗口的菜單條。功能:通過(guò)移動(dòng)中間的滑塊選擇不同的取值并顯示在數(shù)
字框中,如果在數(shù)字框中輸入指定范圍內(nèi)的數(shù)字,滑塊將移動(dòng)到相應(yīng)的位置,見(jiàn)
下圖。
|20
-50JJJ50
提示:
(1)在figure的屬性瀏覽器中設(shè)置Name為GUIDemo:Slider
(2)先建立一個(gè)滑條對(duì)象,在屬性瀏覽器中設(shè)置Max為50,Min為-50;
(3)在滑條的兩端各放置一個(gè)靜態(tài)文本用于顯示最大值和最小值;
(4)滑條對(duì)象的callback函數(shù)中的內(nèi)容為:
val=get(handles.slideri,'value');
set(handles.edit1,'string',num2str(val));
(5)在滑條上方放置一個(gè)文本框,用于顯示滑塊的位置所指示的數(shù)值,也可
以在文本框中直接輸入數(shù)值,callback函數(shù)中的內(nèi)容為:
str=get(handles.edit1,'string');
set(handles.slideri,'value',str2num(str));
7.4用單選框做一個(gè)如圖所示的界面,通過(guò)選擇不同的單選框來(lái)決定使用不同
的色彩圖。
W彩
(1)建立坐標(biāo)軸對(duì)象,用于顯示圖形;
(2)建立建立五個(gè)單選框,用于選擇不同的色圖;
(3)callback函數(shù)的內(nèi)容為:
functionvarargout=radiobutton1_Callback(h,eventdata,handles,varargin)
set(handles.radiobutton1,'value',l)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3value',0)
set(handles.radiobutton4,'value',0)
set(handles.radiobutton5,'value',0)
colormap(jet)
%------------------------------------------------
functionvarargout=radiobutton2_Callback(h,eventdata,handles,varargin)
set(handles.radiobutton1,'value',0)
set(handles.radiobutton2,'value',1)
set(handles.radiobutton3,'value',0)
set(handles.radiobutton4,'value',0)
set(handles.radiobutton5,'value',0)
colormap(hsv)
%-------------------------------------------------------------------
functionvarargout=radiobutton3_Callback(h,eventdata,handles,varargin)
set(handles.radiobuttonl,'value',0)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',1)
set(handles.radiobutton4,'value',0)
set(handles.radiobutton5,'value',0)
colormap(hot)
%-------------------------------------------------------------------
functionvarargout=radiobutton4_Callback(h,eventdata,handles,varargin)
set(handles.radiobuttonl,'value',0)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',0)
set(handles.radiobutton4,'value',1)
set(handles.radiobutton5,'value',0)
colormap(pink)
%-------------------------------------------------------------------
functionvarargout=radiobutton5_Callback(h,eventdata,handles,varargin)
set(handles.radiobuttonl,'value',0)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',0)
set(handles.radiobutton4,'value',0)
set(handles.radiobutton5,'value',l)
colormap(copper)
7.5制作一個(gè)曲面光照效果的演示界面,如圖所示,三個(gè)彈出式菜單分別用于
選擇曲面形式、色彩圖、光照模式和反射模式,三個(gè)滾動(dòng)條用于確定光源的位置,
一個(gè)按鈕用于退出演示。
提示:
(1)建立一個(gè)靜態(tài)文本,用于顯示界面的標(biāo)題:光照效果演示;
(2)建立坐標(biāo)軸對(duì)象,用于顯示圖形;
(3)建立四個(gè)下拉菜單,分別用于選擇繪圖表面的形狀、色圖、光照模式和
反射模式,每個(gè)下拉菜單的上方都有一個(gè)靜態(tài)文本用于說(shuō)明菜單的作用;
(4)在一個(gè)frame上建立三個(gè)滑條用于確定光源的位置,并在frame上方加
一說(shuō)明;
(5)建立一個(gè)按鈕用于退出演示;
(6)callback函數(shù)的內(nèi)容為:
functionvarargout=pushbuttonl_CaIIback(h,eventdata,handles,varargin)
delete(handles.figure1)
%-------------------------------------------------------------------
functionvarargout=popupmenul_Callback(h,eventdata,handles,varargin)
val=get(h,'value');
switchval
case1
surf(peaks);
case2
sphere(30);
case3
membrane
case4
[x,y]=meshgrid(-4:,1:4);
r=sqrt(x.A2+y.A2)+eps;
z=sinc(r);
surf(x,y,z)
case5
[x,y]=meshgrid([-l.5:3:1.5],[-1:0.2:1]);
z=sqrt(4-x.A2/9-y.A2/4);
surf(x,y,z);
case6
t=0:pi/12:3*pi;
r=abs(exp(-t/4).*sin(t));
[x,y,z]=cylinder(r,30);
surf(x,y,z);
end
shadinginterp
light('Position',[-3-21]);
axisoff
%-------------------------------------------------------------------------
functionvarargout=radiobuttonl_Callback(h,eventdata,handles,varargin)
set(h,'value',1)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',0)
set(handles.radiobutton4,'value',0)
lightingflat
%-------------------------------------------------------------------
functionvarargout=radiobutton2_Callback(h,eventdata,handles,varargin)
set(h,'value',l)
set(handles.radiobuttonl,'value',0)
set(handles.radiobutton3,'value',0)
set(handles.radiobutton4,'value',0)
lightinggouraud
%-------------------------------------------------------------------
functionvarargout=radiobutton3_Callback(h,eventdata,handles,varargin)
set(h,'value',l)
set(handles.radiobuttonl,'value',0)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton4,'value',0)
lightingphong
%-------------------------------------------------------------------
functionvarargout=radiobutton4_Callback(h,eventdata,handles,varargin)
set(h,'value',l)
set(handles.radiobuttonl,'value',0)
set(handles.radiobutton3value',0)
set(handles.radiobutton3,'value',0)
lightingnone
%-------------------------------------------------------------------
functionvarargout=popupmenu2_CalIback(h,eventdata,handles,varargin)
val=get(h,'value');
switchval
case1
colormap(jet)
case2
colormap(hot)
case3
colormap(cool)
case4
colormap(copper)
case5
colormap(pink)
case6
colormap(spring)
case7
colormap(summer)
case8
colormap(autumn)
case9
colormap(winter)
end
%-------------------------------------------------------------------
functionvarargout=popupmenu3_Callback(h,eventdata,handles,varargin)
val=get(h,'value');
switchval
case1
lightingflat
case2
lightinggouraud
case3
lightingphong
case4
lightingnone
end
%------------------------------------
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼陽(yáng)古建施工方案審批
- 2024年三季度報(bào)湖南地區(qū)A股銷售凈利率排名前十大上市公司
- 快船新球館施工方案
- (教研室)福建省寧德市2024-2025學(xué)年高二上學(xué)期期末考試語(yǔ)文試題
- 揚(yáng)塵施工方案
- 預(yù)制濾板施工方案
- 2025年柳工營(yíng)銷面試題及答案
- 6年級(jí)上冊(cè)20課青山不老課堂筆記
- 教育教學(xué)評(píng)價(jià)表
- 低空經(jīng)濟(jì)產(chǎn)業(yè)專項(xiàng)引導(dǎo)基金
- 《流程基本知識(shí)》考核試題(答案)
- 【知識(shí)解析】南昌起義主題圖集
- 中班安全活動(dòng) 保護(hù)鼻子
- 板卡錯(cuò)誤代碼對(duì)應(yīng)的錯(cuò)誤信息及解決方案
- 重大事故后果分析
- 武漢理工大學(xué)計(jì)算機(jī)網(wǎng)絡(luò)試題及答案
- 先學(xué)后教當(dāng)堂訓(xùn)練簡(jiǎn)介
- “順豐杯”第三屆全國(guó)大學(xué)生物流設(shè)計(jì)大賽案例
- 灌區(qū)工程施工方案與技術(shù)措施
- 幼兒園繪本:《小蛇散步》 課件
- 華中師大版七年級(jí)心理 2走近老師 課件(共15張PPT)
評(píng)論
0/150
提交評(píng)論