中南大学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

提交评论