中南大學matlab課后習題2_第1頁
中南大學matlab課后習題2_第2頁
中南大學matlab課后習題2_第3頁
中南大學matlab課后習題2_第4頁
中南大學matlab課后習題2_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精選試題

中南大學matlab課后習題⑴

編制:__________________________

審核:__________________________

出版:__________________________

第二章

1?求下列表達式的值。

(1)w=sqrt(2)*(l+*10A-6)

w=

(2)a=;b=5;c=;

x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a);

x=

(3)a=;b=;

y=2*pi*aA2*[(l-pi/4)*b-4)*a];

y=

(4)t=[2,l-3i;5J;

z=l/2*exp(2*t)*log(t+sqrt(l+tA2));

z=

+004*

2,已知a,b,求下列表達式的值。

a=[-l,5,-4;0,7,8;3,61,7];b=[83rl;2,5,3;-3A0];

(1)a+6*b

ans=

4723-10

123726

-15737

aA2-b+eye(3)

ans=

-18-21717

22533109

21867526

(2)a*b

ans=

141416

-105121

125328180

a.*b

ans=

-8154

03524

-91220

b*a

ans=

-110-15

722853

3-128

(3)a/b

ans=

(4)[a,b]

ans=

-15-483-1

078253

3617-320

[a([l,3],:);bA2]

ans=

-15-4

3617

73371

173713

-2019

3.已知a,完成下列操作。

a=[23,10”0;41?45,65,5;32,5,0,32;6,,54J;

(1)輸出a在[10,25]范圍內的全部元素。

k=find(a>10&a<25)

a(k)

k=

1

ans=

23

⑵取出a前3行構成矩陣b,前兩列構成矩陣c,右下角3*2子矩陣構成矩陣d,b與c的乘積構

成矩陣e。

b=a(l:3,:)

b=

0

0

c=a(:,l:2)

d=a(2:4,3:4)

d=

0

e=b*c

e=

+003*

(3)分別求表達式額e<d,e&d,e|d和~0k(1的值。

e<d

ans=

01

00

01

e&d

ans=

0

e|d

ans=

11

11

11

-e|-d

ans=

00

10

00

4,產生5階希爾伯特矩陣H和5階帕斯卡矩陣P,且求其行列式的值Hh和Hp以及他們的條件數

Th和Tp,判斷哪個矩陣性能更好,為什么

formatrat

H=hilb⑸

H=

11/21/31/41/5

1/21/31/41/51/6

1/31/41/51/61/7

1/41/51/61/71/8

1/51/61/71/81/9

P=pascal(5)

P=

I1111

12345

1361015

14102035

15153570

Hh=det(H)

Hh=

1/0000

Hp=det(P)

Hp=

Th=cond(H)

Th=

476607

Tp=cond(P)

Tp=

178868/21

P矩陣性能更好,因為Tp更接近1.

5.已知A,求A的特征值及特征向量,并分析其數學意義。

A=[-29,6,18;20,5,12;-8,8,5]

A=

-29618

20512

-885

[V,D]=eig(A,,nobalance,)

V=

1361/1013493/1574

-1227/1438-11

290/593551/788331/713

D=

-3595/14200

0-3755/3570

004697/279

第二早

1.從鍵盤輸入一個3位整數,將它反向輸出。如輸入639,輸出為936.

clear

m=inputC請輸入一個三位數:,;

ml=fix(m/100);

m2=rem(fix(m/10),10);

m3=rem(m,10);

m=nil+m2*10+m3*100;

disp(m);

請輸入一個三位數:453

354

2.輸入一個百分制成績,要求輸出成績等級A、B、C、D、Eo其中90?100分為A,80?89

分為B,70?79分為C,60?69分為D,60分以下為E。要求:

(1)分別用if語句和switch語句實現。

(2)輸入百分制成績后要判斷該成績的合理性,對不合理的成績應輸出出錯信息。

c=inputC請輸入一個百分制分數:,;

ifc>=90&c<=100%用if語句實現

disp(A);

elseifc>=80&c<90

disp(B);

elseifc>=70&c<80

dispCC*);

elseifc>=60&c<70

disp('D');

elseifc>=0&c<60

disp(E);

else

dispC輸入出錯力

end

請輸入一個百分制分數:88

B

c=inputC請輸入一個百分制分數:,);

switchfix(c/10)%用switch語句實現

case{9,10}

m='A';

case{8}

m=B1;

case{7}

m=C;

case{6}

m='D';

casenum2cell(0:5)

m='E';

otherwise

輸入出錯,;

end

disp(m);

請輸入一個百分制分數:98

A

3.輸入20個數,求其中最大數和最小數。要求分別用循環結構和調用MATLAB的max函數、

min函數來實現。

a=input。請輸入二十個數上%用循環結構實現

max=a(l);

min=a(l);

fori=l:20;

ifmax<a(i);

max=a(i);

end

ifmin>a(i);

min=a(i);

end

end

max

min

請輸入二十個數[3465344555665543322226]

max=

44

min=

2

4.丫=^^-$1111+0,3)+11#答,當2取、、、一、、、時,求各點的函數值。要求分別用順序結

構和循環結構實現。

clear

fora=::%用循環結構實現

y=((exp*a)-exp*a))/2)*sin(a++log(+a)/2)

end

y=

+

y=

+

y=

+

y=

+

y=

+

y=

+

y=

+

y=

+

y=

+

y=

+

y=

4-

y=

+

y

+

y=

+

y=

+

y=

+

y=

+

y=

+

y=

+

y=

+

y=

+

y=

+

y

+

y=

+

y=

+

y=

+

y=

+

y=

y=

y=

y

y=

y

y

y=

y=

y=

y

y=

y=

y=

y=

y=

y=

y=

y=

y=

y=

y=

y=

y

y

y

y

y=

y=

y

y=

y=

y=

y=

5.當n分別取100、1000、10000時,求下列各式的值:

clear

n=inputt輸入一個數:,);%用循環結構實現

a=0;

fori=l:n

a=a+l/(iA2);

end

disp(a);

j=l:n;%用sum函數實現

b=sum(l./(j.A2));

輸入一個數:34

b=

-2?24*46*6,

⑵(舒x(0(二7)?(記—)?今

clear

n=input(,輸入一個數:,);%用循環結構實現

a=l;

fori=l:n

a=((2*i*i*2)/((2*i-l)*(2*i+l)))*a;

end

disp(a);

輸入一個數:8

6.建立65矩陣,要求輸出矩陣第n行元素。當n值超過矩陣的行數時,自動轉為輸出矩陣

最后一行元素,并給出出錯信息。

clear

a=rand(5,6);

n=inputC請輸入一個數:,;

ifn>5

n=5

a(n,:)

dispC輸入超出范圍了

else

a(n,:)

end

請輸入一個數:4

ans=

請輸入一個數:7

5

ans=

輸入超出范圍

7.已天口y-式刈+儂)

⑴當f(n)=n+101n(nA2+5)B^,y的值是多少。

functiona=n2a(n)

a=n+10*log(n*n+5)

y=n2a(40)/(n2a(30)+n2a(20))

a=

y=

(2)當f(n)=l*2+2*3+3*4+?+n*(n+l)時,y的值是多少。

functionb=nlb(n)

b=0;

fori=l:n

b=b+i*(i+l);

end

y=nlb(40)/(nlb(30)+nlb(20))

y=

第四章

i.繪制下列曲線。

⑴y=x->

x=-10::l();

y=x-x.A3/6;

plot(x,y)

(2*+2y2=64

x=-10::10;

ezplot(,xA2+2*yA2-64\[-8,8]);

gridon;

2,設

i

y=7T7T,-n<tWn,

在同一圖形窗口采用子圖的形式繪制條形圖,階梯圖,桿圖和對數坐標圖等不同圖形,

并對不同圖形加標注說明。

t=-pi:pi/10:pi;

y=l./(l+exp(-t));

subplot(2,2,l);

bar(t,y);

titled條形圖(t,y),);

axis([-pi,pi,O,lD;

subplot(2,2,2);

stairs(t,y,'b');

titled階梯圖(t,y),;

axis([-pi,pi,O,l]);

subplot(2,2,3);

stem(t,y,'k');

titled桿圖(t,y),;

axis([-pi,pi,O,l]);

subplot(2,2,4);

loglog(t,y,'y');

title。對數坐標圖(t,y>);

Warning:Negativedataignored

>Intitleat42

Intitleat23

3.繪制下列極坐標圖。

(1)p=5cos。+4

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

r=5.*cos(t)+4;

polar(t,r);

title(,\rho=5*cos\theta+4,);

p=5*cos0+4

/與、5sin2(?兀兀

(2)yi=——COSQ'-3r—<T?<—-3

t=-pi/3:pi/50:pi/3;

r=5.*((sin(t)).A2)./cos(t);

polar(t,r);

4.繪制下列三維圖形。

x=eA-(t/20)cost

A

(1)y=e-(t/20)sint?0<t<2jt

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

x=exp(-t./20).*cos(t);

y=exp(-t./20).*sin(t);

z=t;

plot3(x,y,z);

gridon;

(2)z=5,|x|w5,|ylw5.要求應用插值著色處理。

[x,y]=meshgrid(-5:5);

z=zeros(ll)+5;

mesh(x,y,z);

shadinginterp;

6

axisoff.

shading總加;

}=moviein(20);

i=l:20

axis(Uhi,i』D

m(M=g“frame.

end

第五章

1,利用matlab提供的randn函數生成符合正態分布的10*5隨機矩陣A,進行以下操作:

(1)A各列元素的均值和標準方差。

(2)A的最大元素和最小元素。

(3)求A每行元素的和以及全部元素的和。

(4)分別對A的每列元素按升序,每行元素按降序排列。

A=randn(10,5)

x=mean(A)

y=std(A)

Max=max(max(A))

Min=min(min(A))

Sumhang=sum(A,2)

SumA=sum(Sumhang)

B=sort(A);

C=sort(B,2,descend*);

C

A

X=

y=

Max=

Min=

Sumhang=

SumA=

C=

2,按要求對指定函數進行插值和擬合。

(1)按表一所示用三次樣條方法插值計算0~90°內整數點的正弦值和0~75°內整數點的正

切值,然后用5次多項式擬合方法計算相同的函數值,并將兩種計算結果進行比較。

(2)按表二所示用3次多項式方法插值計算1~100之間整數的平方根。

表一特殊角的正弦與正切值表

a(度)0153045607590

sina007071

tana0

表二1~100內特殊值的平方根表

NI49162536496481100

VN12345678910

(1)

a=0:15:90;

b=a./180.*pi;

s=sin(b)

c=0:15:75;

d=c./180.*pi;

t=tan(d)

e=inputC請輸入想計算的值:,)

S=sin(e/18()*pi)

T=tan(e/180*pi)

Sl=interpl(a,s,e,Spline1)

Tl=interpl(c,t)e/spline,)

Pl=polyfit(a,s,5);

P2=polyfit(c,t,5);

S2=polyval(Pl,e)

T2=polyval(P2,e)

0

0

請輸入想計算的值:s=

T=

SI=

T1=

S2=

T2=

(2)

n=[l,9,16,25,36,49,64,81,100];

N=sqrt(n);

x=inputC計算值:*);

interpl(iijNyX/cubic*)

計算值:ans=

5

3,己知h⑴=e%t,t20,取N=64,對t從。?5秒采樣,用FFT作快速傅里葉變換,并繪制相應的振

幅----頻率圖。

N=64;

T=5;

t=linspace(O,T,N);

h=exp(-t);

dt=U2)?t⑴;

f=l/dt;

X=fft(t);

F=X(l:N/2+l);

f=f*(0:N/2)/N;

plot(f,abs(F),,-*t)

4,有兩個多項式P(x)=2x八4?3x八3+5x+13,Q(x)=x八2+5x+8,試求P(x),P(x)Q(x)以及P(x)/Q(x)的導

數。

P=[2,.3,0,5,13];

Q=U,5,8];

p=polyder(P)

q=polyder(P,Q)

[a,b]=polyder(P,Q)

P=

8-905

q=

12354-5776105

a=

42734-77-26-25

b=

110418064

5,有3個多項式PI(x)=xA4+2xA3+4xA2+5,P2(x)=x+2,P3(x)=x^2+2x+3,試進行下歹操作:

(1)求P(x)=Pl(x)+P2(x)P3(x)o

(2)求P(x)的根。

(3)當x取矩陣A的每一元素時,求P(x)的值。其中

A=-l

2

05

(4)當以矩陣A為自變量時,求P(x)的值。其中A的值與(3)相同。

Pl=[l,2,4,0,5];

P2=[0,l,2];

P3=[l,2,3];

P=Pl+conv(P2,P3)

X=roots(P)

A=[-l?;,2,;0,5,];

p=polyval(P,A)

Undefinedfunctionorvariable*x*.

第六章

1,下面是一個線性病態方程組:

11

23;xl0.95

11

-*x2=0.67

34

11ix30.52

45

(1)求方程的解。

(2)將方程右邊向量元素b3改為,再求解,并比較b3的變化和解的相對變化。

(3)計算系數矩陣A的條件數并分析結論。

A=[l/2,l/3,l/4;l/3,l/4,l/5;l/4,l/5,l/6];

P=[,J;

x=A\p

A=[l/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6J;

P=[J';

x=A\p

cond(A)

x=

x=

ans=

+003

2,求下列方程的解。

413

(1)x+x+l=0,x0=-l

functionfx=fun(x)

fx=x.A41+x.A3+l;

xO=fzero(,fun*,-l)

x0=

functionfx=fun(x)

fx=x-sin(x)/x;

xOMzeroCfun*,-1)

sinx+y2+lnz-7=0

(3)3x+2y-z3+1=0,初值xO=l,yO=l,zO=l.

,x+y+z-5=0

functionq=myfun(d)

x=d(l)

y二d⑵

z=d(3)

q(1)=sin(x)+yA2+log(z)-7;

q(2)=3*x+2Ay-zA3+l;

q(3)=x+y+z-5

options=optimset('Display','ofr);

x=fsolve(@myfun,[1,1,1],,options)

4,求函數在指定區間的最大值。

1+

f(x)=77G,x£(0,2)

function[xy]=qiujizhi()

h=;%%解的精度

x=;

y=(l+xA2)/(l+xA4);

while(l+(x+h)A2)/(l+(x+h)A4)>y

x=x+h;

y=(l+xA2)/(l+xA4);

end

fprintfC極大值時x取值%,極大值時y=,%\x,y);

極大值時x取值,極大值時y=,+000ans=

5,設有400萬元資金,要求4年內使用完,若在一年內使用資金x萬元,則可得效益Jx萬元

(效益不能再使用),當年不用的資金可存入銀行,年利率為10%。試制定出資金的使用計劃,

以使4年效益之和最大。

(1)先建立M文件,定義目標函數:

functionf=fun4(x)

f=-(sqrt(x(1))+sqrt(x(2))+sqrt(x(3))+sqrt(x(4)));

(2)再建立M文件定義非線性約束:

functionfg,ceq]=mycon(x)

g(l)=x(1)-400;

g(2)=*x(1)+x(2)-440;

g(3)=*x(1)+*x(2)+x(3)-484;

g(4)=*x(1)+*x(2)+*x(3)+x(4);ceq=0

(3)主程序為:

x0=[l;l;l;l];

vlb=[0;0;0;0];

vub=[];

A=[];

b=[];

Aeq=[];

beq二口;

[x,fval]=fmincon(,fun4,,xO,A,b,Aeq,beq,vlb,vub,'mycon')

x=

fval=

第七章

1,求定積分。

⑴I=&x

11

2

(2)(x-0.3)2+001-(x.0.9)+0.04-

(1)formatlong

fx=inline('sin(x)./x');

|I,n]=quadl(fx,0,2,le-10)

1=

n=

19

(2)fonnatlong

fx=inline(,l./(.A2+-L/(.A24-6,);

[I,n]=quad(fx,0,l,le-10)

1=

985

2,求二重定積分。

=

(1)Ii/o/oe-&+y)dxdy

globalki;

ki=0;

I=dblquad(@fxy,O,l,OJ)

ki

(2)12=J:5|cos?(x+y)|dxdy

f=inline('abs(cos(x+y))','x'y);

I=dblquad(f,O,pi,O,pi)

3,分別用矩形,梯形公式計算由表一中數據給出的定積分I=/:;f(x)dx.

表一被積函數f(x)數據表

k1234567

Xk0,7

F(Xk)

x=::;

F=L,,,,J;

trapz(X,F)

4,設X由[2,2叮]區間內均勻分布的10個點組成,求向量sinX的1~3階差分。

p=0:pi/5:2*pi;

forn=l:3

n

DX=diff(sin(p),n)

end

5,設

SU1X

用3種不同的方法求函數f(x)的數值導數,并在同一個坐標系中作出f'(x)的圖像。

f=inline(*sin(x)J(x+cos(2.*x))*);

g=inline(,(cos(x).*(x+cos(2*x))-sin(x).*(l-2.*sin(2*x)))/(x+cos(2.*x)).A2,);

x="pi::pi;

p=polyfit(x,f(x),5);

dp=polyder(p);

dpx=polyval(dp,x);%求dp在假設點的函數值dx=diff(f([x,]))/;%直接對f(x)

求數值導數

gx=g(x);%求函數f的導函數g在假設點的導數

plot(x,dpx,x,dx,',x,gx,'-');

第八章

1,分解因式。

(1)xA4-yA4

symsxy;

s=xA4-yA4;

factor(s)

ans=

(x-y)*(x+y)*(xA2+yA2)

(2)5135

factor(5135)

ans=

51379

2,求函數的極限。

symsx;

f=(x-2)/(xA2-4);

limit(f9x,2)

ans=

1/4

m-Jarccosx

symx;

f=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+l);

limit(f,x,-l,,right,)

ans=

-Inf

3,求函數的符號導數。

(1)y=sinj,求y;y”。

symx;

f=sin(l/x);

diff(f;x\2)

ans=

-cos(l/x)/xA2

ans=

(2*cos(l/x))/xA3-sin(l/x)/xA4

1-cos?(2x),x,”

⑵y=一一,求y,y.

symx;

f=(l-cos(2*x))/x;

difT(f,k)

diff(f,'x',2)

ans=

(2*sin(2*x))/x+(cos(2*x)-l)/xA2

ans=

(4*cos(2*x))/x-(4*sin(2*x))/xA2-(2*(cos(2*x)-l))/xA3

4,求積分。

(1)JJe,+Idx

symx;

f=sqrt(exp(x)+l);

int(f,'x*)

ans=

2*(exp(x)+l)A(l/2)+2*atan((exp(x)+l)A(l/2)*i)*i

⑵舄dy

symsxy;

f=x/(x+y);

int(f,y)

ans=

x*log(x+y)

(3)/"(I+ex)2dx

symx;

f=exp(x)*(l+exp(x))A2;

int(f,'x',0,log(2))

ans=

(exp(62433/9007)*(3*exp(62433/9007)+exp(62433/)+3))/3-7/3

(4)/:xlnxdx

symx;

f=x*log(x);

int(f,'x',l,exp(l))

Undefinedfunctionorvariable*x*.

5,求下列級數之和。

(1)1-1/2+1/3-1/4+-+C-l)n+1H--

symx;

s=symsum((-l)A(x+l)/x,l,Inf)

s=

log⑵

/C、x3x5x7

⑵x+y+y+7+?

symy;

z=symsum(yA(2*y-l)/(2*y-l),l,Inf)

z=

sum(yA(2*y-1)/(2*y-1),y=I..Inf)

6,求函數在x=xO處的泰勒展開式。

、x+ex

(1)y=e--~,x0=0,n=5.

(2)(7x3-2x+l,xO=0,n=6

symx;

fl=(exp(x)+exp(-x))/2;

f2=sqrt(xA3-2*x+l);

taylor(fl,x,5,0)

taylor(f2,x,6,0)

ans=

xA4/24+xA2/2+1

ans=

-xA5/8-xA4/8-xA2/2-x+1

7,求非線性方程的符號解。

(1)x3+ax+1=0

(2)sinx+2cosx-Jx=0

ln|=9

(3)

,ex+y=3

symsxya;

x=solve(,xA3+a*x+l=0*,'x')

x=solve(*sin(x)+2*cos(x)-sqrt(x)=0,/x,)

[xy]=solve(,log(x/y)=9,/exp(x+y)=3','x,/yr)

x=

((aA3/27+l/4)A(l/2)?1/2)人(1/3)?a/(3*((aA3/27+1/4)八(1⑵?1/2)八(1/3))

a/(6*((aA3/27+l/4)A(l/2)-l/2)A(l/3))-((aA3/27+l/4)A(l/2)-l/2)A(l/3)/2-(3A(l/2)*(a/(3*((aA3/27+

1/4)A(1/2)-l/2)A(l/3))+((aA3/27+l/4)A(l/2)-l/2)A(l/3))*i)/2

a/(6*((aA3/27+1/4)八(1/2)-1/2)八(1/3))-((a八3/27+1/4)八(1/2)?1/2)八("3)/2+(3A(l/2)*(a/(3*((aA3/27

+1/4)八(1/2)-1⑵八(1/3))+((aA3/27+l/4)A(l/2)-l/2)A(l/3))*i)/2

x=

*i-227.

X=

(exp(9)*log(3))/(exp(9)+1)

y=

log(3)/(exp(9)+1)

8,求微分方程初值問題的符號解,并與數值解進行比較。

xy"+(l-n)y,+y=0

y(0)=y(0)=0

symsn;

|x,y]=dsolve(,x*(D2y)+(l-n)*(Dy)+y=0,;y(0)=0\*Dy(0)=0\,x')

Warning:possiblymissingsolutions[solvini]

Warning:Explicitsolutioncouldnotbefound.

>Indsolveat101

x=

[emptysym]

y=

[]

第九~十二章

第九章

1建立一個圖形窗口,使之背景顏色為紅色,并在窗口上保留原有的菜單項,而且在按下鼠

標左鍵之后顯示出LeftButtonPressed字樣。

hf=figure(,color\[l0OJ/MenuBar,/figure^^WindowButtonDownFcn'/textj/TeftButton

Pressed**)')

hf=

1

2,利用圖形對象繪制下列曲線,要求先利用默認屬性繪制曲線,然后通過圖形句柄操作來改

變曲線的顏色,線型和線寬,并利用文本對象給曲線添加文字標注。

y=;ln?(x+71+x2)

clearall

x=-l::5;

y=*log(x+sqrt(l+x.A2));

hy=plot(x,y)

seUhy/color^/r*,TineStyle','f/LineWidth*,1);

text(3,2八?l,'y="log(x+sqrt(l+x八2)')

hy=

t=0:2:100;

x=t.*t;

y=5*LA3;

hf=plot(x,y);

set(hf/color*,,b,/linestyle,,,:','marker','p,,'linewidth1,;

text(5000,3*10A6;x=tA2y=5tA3f)

x10

5r-

4.5

*

4

*

3.5

3x=t2y=5t3*

2.5

2

?K

1.5

it

0.5

10002000300040005000600070008000900010000

3,利用圖形對象繪制下列三維圖形,要求對圖形進行光照處理。

22

z=x+y-5sin?(xy)

[x,y]=meshgrid(-1000,10,1000);

z=x.*2+y.*2-5*sin(x.*y);

plot3(x,y,z);

%axisequal

light('color\[0,0,lJ;position',[-1000,-1000,2])

shadinginterp;

holdon;

plot3(-1000,-1000,2,,P,);text(-1000,-1000,2;light,)

500?.

0-

-500-

light

-1000-

-1500-

-2000-、'

500

O-299

-999.5

-500-1000

■1000.5

-1000-1Q01

4.以任意位置子圖形式繪制出正弦,余弦,正切和余切函數曲線。

t=linspace(-2*pi,2*pi,100);

yl=sin(t);

y2=cos(t);

y3=tan(t);

y4=cot(t);

axes('position'9[0]);

axes(*position*,[]);

Iine(t,y2/Iinestyle,,,*,,,color,/b,);

axes('position',1]);

line(t,y3,'linestyle\',,'cok)r\T);

axest^positionM0]);

line(t,y,'linestyle\'?.','color','g');

Warning:Settingmarkertypebasedon'LineStyle'property

'Marker*and'LineStyle'havebeenmadeseparateproperties

Use'Marker'propertytoremovethiswarning

5,用patch函數繪制一個填充漸變色的正五邊形。

%clearall;clc;

t=linspace(0,2*pi,6);

k=t(1:Iength(t)-1);

1

patch(sin(k),cos(k)9rand(19kngth(k))9'facecolor'/interp);

axisequal

1-

0.8■

0.6■

0.4■

0.2■

0?

-0.2-

-0.4?

-0.6■

-0.8?

-1-0.8-0.6-0.4-0.200.20.40.60.81

第十章

1,設計菜單。菜單條中含有File和Help兩個菜單項。如果現則File中的New命令,則將顯

示NewItem字樣,如果選擇File中的Open命令,則將顯示出OpenItem字樣。File中的Save

命令初始時處于禁選狀態,在選擇Help菜單項之后將此菜單項恢復成可選狀態,如果選擇

File中的Save命令,則將顯示SaveItem字樣。如果選擇File中的Exit命令,則將關閉當前

窗口。如果選擇Help中的About…命令,則將顯示HelpItem字樣,并將Save菜單設置成可

選狀態。

screen=get(O,*ScreenSize,);

W=screen(3);H=screen(4);

hf=figureCCok)rMl,l,lVPo§itioiiMl,l,*W,*HTName;菜單設計示例一

,;NumberTitle\,off;MenuBar,,'none,);

hfile=uimenu(hf,label',^File*);

hhelp=uimenu(hf,'label*,^Help*);

uimenu(hfile,label1,*&New*,'call*,'disp(uNevvItem")');

uimenu(hfile,,laber;&Open,,,cair;disp(,,OpenItem")');

hsave=uimenu(hfile,UaberZ&Save','Enable*,*ofT);

uimenu(hsave,*laber/Textfile,/call,,,kl=0;k2=l;file01;*);

uimenu(hsave/laber,'Graphicsfile','call','kl=0;k2=0;fHel0;');

uimenu(hfiIe/laber/Save&As,,'call',,disp(MSaveAsItem")');

uimenu(hfile,'label1,*&Exif,Separator,,*011',,cair,,close(hf),);

uimenu(hhelp,label',*About..J/cairjl'dispf^HelpItem,,);\,set(hsave,uEnable,\non,')*]);

4,設計一個用戶界面,其中有一個靜態文本框,一個編輯框,兩個復選框,一組單選按鈕。

在編輯框中輸入一個數,單擊按鈕,可以設置靜態文本框中的文字大小;復選框用于設置文

字是否為粗體,傾斜;單選按鈕用于設置字體的顏色。

(1)打開GUI設計窗口,添加有關圖形對象。

在命令輸入窗口輸入命令"guide”,打開設計窗口。在窗口上添加一個按鈕、一個靜態文

本框、一個編輯框、兩個復選框、一組3個單選按鈕。

(2)設置圖形對象的屬性。

設置按鈕的Siring屬性為“設置字體大小”;設置靜態文本框的Backgroundcolor屬性為白

色、String屬性為“字體大小顏色粗體傾斜”;設置編輯框的String屬性為“設置第一

個單選按鈕的String屬性為“紅色”;設置第二個單選按鈕的Siring屬性為“藍色”;設置第

三個單選按鈕的String屬性為“綠色”;設置第一個復選框的String屬性為“粗體”;設置第

二個復選框的String屬性為“傾斜”。

(3)利用位置調整工具,調整控件未知。

選中3個單選按鈕、2個復選框,設置為左對齊。

(4)保存圖形用戶界面。

(5)編寫程序

點擊按鈕的“Callback”,添加程序:

a=eval(get,'String'))

set,'FontSize',a)

點擊“紅色”單選按鈕的“Callback”,添加程序:

set,'ForegroundColor','red');

set,'Value',0);

set,'Value',0);

點擊“藍色”單選按鈕的“Callback”,添加程序:

set,'ForegroundColor','blue');

set;Value\O);

set,'Value;。);

點擊“綠色”單選按鈕的“Callback”,添加程序:

set/ForegroundColorVg*);

set,'Value',0);

set/Value',0);

點擊“粗體”復選框的“Callback”,添加程序:

if(get,'Value1)==get/Max'))

set/FontWeight'/bold*)

else

set/FontWeight'/normar)

end

點擊“傾斜”復選框的“Callback”,添加程序:

if(get(hObject,'Value')==get(hObject/Maxr))

set,'FontAngle',Italic');

else

set,'FontAngle1,'normal1);

end

untitled-IEx|

r紅色

6藍色

字體

大小r級色

顏色

粗體

偵斜

溫馨提示

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

評論

0/150

提交評論