搜档网
当前位置:搜档网 › matlab程序设计(第二版)课后作业答案

matlab程序设计(第二版)课后作业答案

matlab程序设计(第二版)课后作业答案
matlab程序设计(第二版)课后作业答案

一、实验结果:

1、利用函数eye,ones,zeros,rand,randn 函数分别产生

首先编写脚本函数如下:

a1=eye(3)

a2=eye(15,8)

b1=ones(3)

b2=ones(15,8)

c1=zeros(3)

c2=zeros(15,8)

d1=2*rand(3,3)-1

d2=2*randn(3,3)+1

r1=2*rand(15,8)-1

r2=2*randn(15,8)+1

2、使用函数diag和reshape函数:

编写脚本:

a1=[8 -7 2];

a2=diag(a1);

a3=fliplr(a2);

a4=[5 3];

a5=diag(a4,-1);

a6=fliplr(a5);

a=a3+a6

a1=reshape(a,1,9)

b1=[4 5 7];

b2=diag(b1);

b3=fliplr(b2);

b4=[2 0 8];

b5=diag(b4);

b=b3+b5

b6=reshape(b,1,9)

3、直接在工作空间里输入:

a=5-round(100*rand(50,2))/10

4、脚本文件:

a=[-pi:2*pi/360:pi];

y1=sin(a)

y2=cos(a)

5.、编写脚本:

A=rand(10)

b=A>0.6

[i,j,v]=find(b)

c=sum(v)

6、编写脚本:

A=randn(10)b=-0.5

[i,j,v]=find(b);

c=sum(v)

7、编写实现表中功能的语句:

if and(a<1,b<=0.5)

语句1

elseif and(a<1,b>0.5)

语句2

elseif and(a>=1,b<=0.5)

语句3

elseif and(a>=1,b>0.5)

语句4

else

disp('error')

end

8、编写脚本如下:

A=2*rand(3)

b=A>1

c=A.*b;

[i,j,v]=find(c);

v

9、编写脚本函数:

A=101*rand(100,3)

b=A>100;

c=A.*b;

[i,j,d]=find(c);

d

10、为节约空间,用5*5的矩阵来模拟100*100的矩阵:编写脚本函数如下:

A=[0 2 0 3 0;0 0 0 0 0;0 8 0 5 0;0 4 0 5 0;0 4 0 2 0]

b=any(A);

[i,j,v]=find(1-b);

A(:,j)=[];

B=A';

c=any(B);

[i,j,v]=find(1-c);

B(:,j)=[];

A=B'

一、实验结果:

1、输入脚本函数:

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

k=[1 26 51 76 101];

x(k)=[];

figure(1)

subplot(2,2,1)

plot(x,sin(x)),grid on

subplot(2,2,2)

plot(x,cos(x)),grid on

subplot(2,2,3)

plot(x,tan(x)),grid on

subplot(2,2,4)

plot(x,cot(x)),grid on

2、分别利用title函数给图形加上标题,用text函数给坐标系中的建立文本对象,可将字符串放在图形的指定位置,用xlabel、ylabel函数添加x、y轴的标记,用legend 函数给图形加上插图说明。写成脚本函数如下:

x=0:0.1:2;

y1=exp(x);

figure(1);

plot(x,y1);

title('\itx');

xlabel('x');

ylabel('\ity=exp(x)');

text(0.6,-0.28,'exp(x)\rightarro w');

legend('\ity=exp(x)');

y2=log10(x);

figure(2);

plot(x,y2);

title('\itx');

xlabel('x');

ylabel('\ity=log10(x)');

text(0.6,-0.28,'log10(x)\rightar row');

legend('\ity=log10(x)');

将脚本函数保存为xiti1.m,运行后产生图形如下:

3、编写脚本函数如下:

x=0:pi/40:4*pi;

figure(1);

subplot(2,1,1);

plot(x,sec(x)),grid on;

title('正割函数图形');

ylabel('y'),xlabel('x');

subplot(2,1,2);plot(x,csc(x)),grid on;

title('余割函数图形');

ylabel('y'),xlabel('x');

4、编写脚本函数如下:

x=(1:.1:10);

y=exp(x+5)+x.^3;

figure(1);

semilogx(x,y,'k-');

title('y=e^(^x^+^5^)+x.^3');%此处加‘^’表示是写在指数部分的字符

ylabel('y'),xlabel('x');

5、绘制多峰函数

[x,y]=meshgrid(-3:.125:3);

z=peaks(x,y);

plot3(x,y,z),grid on;

绘制多条三角函数曲线:

脚本函数如下:

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

y1=sin(x);y2=cos(x);

figure(1)

plot(x,y1,'k-',x,y2,'k--'),g rid on

text(pi,0.05,'\leftarrow

sin(\alpha)')

text(pi/4-0.05,0.05,'cos(\al pha)\rightarrow')

title('sin(\alpha) and

cos(\alpha)')

xlabel('\alpha'),ylabel('sin (\alpha)?cos(\alpha)')

6使用axis调整坐标轴的刻度

编写的脚本如下:

x=-3:.1:3;

y1=2*x+5;

y2=x.^2-3*x+1;

subplot(2,1,1),plot(x,y1),grid on;

axis([-3 3 -5 10])

title('y1=2x+5')

ylabel('y'),xlabel('x')

subplot(2,1,2),plot(x,y2),grid on;

axis([-3 3 -5 10])

title('x.^2-3x+1')

ylabel('y'),xlabel('x')

二、实验结果:

1、选取一个颜色cool进行绘制,其他的颜色板的绘制都是相似的,编写的脚本文件如下:

cmap=colormap;

L=length(cmap);

x=[1:L];

y=x'*ones(size(x));

figure(1)

bar(x(1:2),y(1:2,:));

title('cool')

colormap('cool')

每次都改动colormap('')中的依次为autumn,bone,cool,hot,hsv,gray,flag,line即可

2,编写脚本:

x=[190 33 45 42 45];

explode=[0 1 0 0 0];

labels={'生活费','资料费','电话费

','购买衣服','其他费用'};

figure(1)

colormap gray

pie(x,explode,labels)

title('某研究生每月消费比例')

3,编写成一个脚本函数如下:

[x,y]=meshgrid(-3:.125:3)

z=(x-2).^2+(y-1.2).^2

figure(1)

plot3(x,y,z),grid on

figure(2)

mesh(x,y,z),grid on

4、编写成脚本文件:

[x,y]=meshgrid(-3:.125:3);

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

c=ones(size(x));

figure(1)

surfc(x,y,z,c),grid on

view(-15,25)

figure(2)

contour3(x,y,z,30),grid on

view(-15,25)

5、画出球形:

sphere axis square

[x,y,z]=sphere

x=0.5*x

y=0.5*y

z=0.5*z

hold on

surf(x,y,z)

surf(x+1,y+1,z+1)

柱形:

cylinder

axis square

h=findobj('Type','surface');

set(h,'CData',rand(size(get(h,'C Data'))))

二、实验结果:

1、先编写函数文件:

function f=isprimnum(x)

n=fix(sqrt(x));

for i=2:n

if rem(x,i)==0

f= 'false';

else

f='true';

end

end

再编写脚本文件:

a=19

b=isprimnum(a)

2、编写函数文件如下:

function [num,str]=shanzifu(s)

n=length(s);

num=0;

k=0;

z=[];

for i=1:n

if s(i)~=' '

num=num+1;

end

if s(i)==' '

k=k+1;

z(k)=i;

end

end

s(z)=[];

str=s;

编写脚本运行:

w='I am a student!'

[a b]=shanzifu(w);

a

b

运行解雇如下:

w =I am a student!

a =12

b =Iamastudent!

3、求零的个数,编写函数文件:

function c=qiuling(A)

c=0;

for j=1:2006

s=num2str(A(j));

n=length(s);

for i=1:n

if s(i)=='0'

c=c+1;

end

end

end

写脚本文件运行:

A=[1:2006];

B=qiuling(A)

运行的结果是:

B =504

4、先编写函数文件:

function [x1,x2]=fangcheng(a,b,c) if a==0

disp('??óDò????ù£?');

x2=-c/b;

x1=-c/b;

return

end

if b^2-4*a*c<0

x1=('2?′??úêμ?ù');

x2=('2?′??úêμ?ù');

disp('?Têμ?ù£?');

elseif b^2-4*a*c==0

x1=(-b)/(2*a);

x2=(-b)/(2*a); disp('·?3ìóDá????àμèμ??ù£?'); elseif b^2-4*a*c>0

x1=(-b+sqrt(b^2-4*a*c))/2*a;

x2=(-b-sqrt(b^2-4*a*c))/2*a;

disp('·?3ìóDá???2?μèμ??ù£?');

end

end

编写脚本函数运行:

[x1,x2]=fangcheng(0,3,4)

[x3,x4]=fangcheng(1,-2,1)

[x5,x6]=fangcheng(2,3,1)

[x7,x8]=fangcheng(2,1,1)

显示的结果如下:

只有一个根!

x1 =-1.3333

x2 =-1.3333

方程有两个相等的根!

x3 =1

x4 =1

方程有两个不等的根!

x5 =-2

x6 =-4

无实根!

x7 =

不存在实根

x8 =

不存在实根

5、先编写两个函数文件

function y=fenduan(x)

if x >=-3 & x< -1

y=(-x^2-4*x-3)/2;

elseif x >=-1 & x<1

y=-x^2+1;

elseif x >= 1 & x <= 3

y=(-x^2+4*x-3)/2;

end

figure(1)

plot(x,y,'r-'),grid on

end

function y= huatu(x)

n=length(x)

for i=1:n

if x(i)>=-3 && x(i)< -1

y(i)=(-x(i)^2-4*x(i)-3)/2; elseif x(i)>=-1 && x(i)<1

y(i)=-x(i)^2+1;

elseif x(i)>=1 && x(i)<=3

y(i)=(-x(i)^2+4*x(i)-3)/2; end

end

编写脚本运行:

x0=1.9

y0=fenduan(x0)

x=[-3:0.01:3];

y=huatu(x);

plot(x,y),grid on

运行的结果是:

x0 =1.9000

y0 =0.4950

三、实验结果:

1、输入脚本函数:

ch=menu('oˉêyê?è?????',1,2,3,4) switch ch

case 1,r=10-20*rand(2,2);

case 2,r=5-10*rand(2,2);

case 3,r=-1-2*rand(2,2);

case 4,r=randn(2,2);

end

disp(r)

运行后出现菜单:

选择‘3’后显示:

ch = 3

-2.9150 -1.3152

-2.9298 -2.9412

2、计算加权平均成绩的函数文件:function y=mean(x)disp(x);

n=length(x);

s=0;

t=0;

a=[2 3 2 4 2.5 1];

for i=1:n

s=s+x(i)*a(i);

t=t+a(i);

end

y=s/t;

在工作空间内输入成绩后调用函数:

x=[90 67 89 76 98 77]

x = 90 67 89 76 98 77

>> chengji=pingjun(x)

90 67 89 76 98 77 chengji = 81.7241

3、编写奖金的函数文件

function y=jiangjin(x)

if x<=10

y=x*0.1;

elseif x>10&&x<=20

y=(x-10)*0.05+10*0.01;

elseif x>20&&x<40

y=(x-20)*0.02+10*0.05+10*0.01; elseif x>40

y=(x-40)*0.01+20*0.02+10*0.05+10 *0.1;

end

4、先编写求前n项和的函数文件:function y=qiuhe15(n)

n=input('please input n:\n');

i=1;

a(1)=1;

a(2)=2;

y(1)=0;

for i=1:n

a(i+2)=a(i)+a(i+1);

end

for i=1:n

h(i)=a(i+1)/a(i);

end

for i=1:15

y=y+h(i);

end

5、这个问题属于约瑟夫环的问题:

编写函数文件如下:

function a=yuesefu(n,m)

b=1:n;

k=0;

m1=1;

i=1;

while m1<=n

if b(i)~=0

k=k+1;

if k==m

k=0;

a(m1)=b(i);

m1=m1+1;

b(i)=0;

end

end

if i==n

i=0;

end

i=i+1;

end

三、实验结果:

1、编写脚本文件:

c=[1 9 8;7 2 5;3 -2 7]

det(c)

inv(c)

2、将函数的系数用矩阵表示,编写脚本函数:

A=[1 2 3;2 2 5;3 5 1]'

y=[11 12 14]'

x=A\y

3、编写拟合的脚本文件:

t=[1 2 3 4 5 6 7 8 9 10]';

y=[4.842 4.362 3.754 3.368 3.169 3.083 3.034 3.016 3.012 3.005]'; A1=[ones(size(t)) exp(-t)];

A2=[ones(size(t)) t.*exp(-t)];

C=A1\y

D=A2\y

T=[0:.1:10]';Y1=[ones(size(T)) exp(-T)]*C;

Y2=[ones(size(T)) T.*exp(-T)]*D; figure(1)

subplot(1,2,1)

plot(T,Y1,'-',t,y,'o'),grid on subplot(1,2,2)

plot(T,Y2,'-',t,y,'o'),grid on

4、利用函数lu和qr进行分解,编写的脚本如下:

A=[11.59 12.81 15.66;15.2 4.18 13.61;10.59 7.59 9.22];

B=[16.00 4.41 -10.37 -21.61;0.88 -20.04 12.86 8.56;-1.43 10.71 18.81 -5.99;-12.48 24.35 -23.9 10.34]; [LA UA]=lu(A)

[LB UB]=lu(B)

[QA RA]=qr(A)

[QB RB]=qr(B)

5、先编写函数文件:

function dy=diffe(t,y)

dy=[5*y(1)-5*y(2)-6*y(3);3*y(1)-

2*y(2)+5*y(3);2*y(1)-y(2)-4*y(3) ];

end

然后再脚本中输入:

X0=[1;-4;5];

tspan=[0,100];

[T,X]=ode45('diffe',tspan,X0); figure(1)

subplot(3,1,1),plot(T,X(:,1),'b' ),title('x_{1}'),grid on

subplot(3,1,2),plot(T,X(:,2),'b' ),title('x_{2}'),grid on

subplot(3,1,3),plot(T,X(:,3),'b' ),title('x_{3}'),grid on

figure(2)

plot3(X(:,1),X(:,2),X(:,3),'b'), title('?μí31ì?£'),grid on

6、编写脚本文件如下:

EA=eig(A)

EB=eig(B)

[V,D]=eig(A)

[V,D]=eig(B)

7、编写脚本函数如下:

t=[1 2 3 4 5 6 7 8 9 10];

y=[15.0 39.5 66.0 85.5 89.0 67.5 12.0 -86.4 -236.9 -448.4];

p1=polyfit(t,y,2);

p2=polyfit(t,y,3);

t2=1:.1:10;

y2=polyval(p1,t2);

y3=polyval(p2,t2);

figure(1)

subplot(1,2,1),plot(t,y,'o',t2,y 2),grid on

subplot(1,2,2),plot(t,y,'o',t2,y 3),grid on

8、习题8,9一起编在一个脚本文件里:p1=[1 -2 -3 4 2];

p2=[1 -7 5 31 -30];

p3=[1 -1 -25 25];

p4=[-2 3 1 5 8 0];

r1=roots(p1)

r2=roots(p2)

r3=roots(p3)

r4=roots(p4)

y11=polyval(p1,-1.5)

y12=polyval(p1,2.1)

y13=polyval(p1,3.5)

y21=polyval(p2,-1.5)

y22=polyval(p2,2.1)

y23=polyval(p2,3.5)

三、实验结果:

10:实验输入的脚本如下:

a=[2 3 -4];

b=[4 -2 5];

c=[3 0 -2 5 6];

d1=conv(a,b)

d2=deconv(c,a)

d3=deconv(c,b)

11:输入的脚本程序如下:

a=[2 3 -4];

b=[4 -2 5];

c=[3 0 -2 5 6];

d1=conv(a,b);

d2=deconv(c,a);

d3=deconv(c,b);

q1=polyder(d1) q2=polyder(d2)

q3=polyder(d3)

12:内插:

编写脚本:x=[-5:1:5];

y=10*exp(-abs(x));

xi=[-5:0.1:5];

y1=interp1(x,y,xi,'nearest')

y2=interp1(x,y,xi,'linear')

y3=interp1(x,y,xi,'spline') subplot(2,2,1)

plot(xi,y1);

subplot(2,2,2);

plot(xi,y2);

subplot(2,2,3);

plot(xi,y3);

13:输入的脚本文件是:

x1=rand(1,50)

x2=randn(1,50)

zuida1=max(x1)

zuida2=max(x2)

zuixiao1=min(x1)

zuixiao2=max(x2)

junzhi1=mean(x1)

junzhi2=mean(x2)

fangcha1=std(x1).^2

fangcha2=std(x2).^2

14,多项式的拟合可以用函数polyfit

t=[0 0.2 0.4 0.6 0.8 1.0 2.0 5.0]; y=[1.0 1.51 1.88 2.13 2.29 2.40 2.60 -4.00];

p=polyfit(t,y,3);

t2=0:0.1:5;

y2=polyval(p,t2);

subplot(1,2,1)

plot(t,y,'o',t2,y2);

grid on;

title('多项式曲线拟合');

t3=t';

y3=y';

A=[ones(size(t3)) exp(-t3)

t3.*exp(-t3)];

C=A\y3;

T=[0:.1:5]';

Y=[ones(size(T)) exp(-T)

T.*exp(-T)]*C;

figure(2);

subplot(1,2,2);

plot(T,Y,'-',t3,y3,'o');

grid on;

title('指数函数的拟合')

15,利用MATLAB提供的FFT函数可以

方便的计算出信号的傅里叶变换,从而对信号进行频域上的分析。

脚本文件如下:

t=0:1/119:1;

x=3*sin(2*pi*20*t)+10*sin(2*pi*2 00*t+pi/4)+10*randn(size(t));

y=fft(x);

m=abs(y);

f=(0:length(y)-1)'*119/length(y) ;

figure(1);

subplot(2,1,1);

plot(t,x);

grid on;

title('噪声污染信号');

ylabel('Input\itx'),xlabel('Time ');

subplot(2,1,2);

plot(f,m);

ylabel('Abs.Magnitude');

grid on;

xlabel('Frequency(Hertz)');

16,利用相关系数函数corrcoef进

行计算求解,脚本如下:

x1=sin(2*pi*t)+randn(size(t));

x2=cos(2*pi*t)+randn(size(t));

x3=sin(2*pi*t)+randn(size(t));

r1=corrcoef(x1,x2)

r2=corrcoef(x1,x3)

y1=randn(size(t));

y2=randn(size(t));

v=corrcoef(y1,y2)

17,利用quad函数可以求定积分:

编写脚本函数:q1=quad('y1',0,2)

q2=quad('y2',0,2)

q3=quad('y3',-1,1)

编写三个函数分别为:

function y =y1( t )

y=exp(-2*t);

end

function y= y2( t)

y=exp(2*t);

end

function y = y3( x )

y=x.^2-3*x+0.5;

end

18用fzero可以找出零点信息,若没有零点,会返回出错信息

先编写函数文件:

function y=hanshu1(x)

y=exp(-x)-1.5*exp(2*cos(2*pi*x)) end

d =

-4.4884

Error using ==> fzero at 293

The function values at the interval endpoints must differ in sign.

Error in ==> xiti18 at 3

z=fzero('hanshu1',x)

出错信息表示此区间内没有零点。

19,可以用dblquad函数求双重积分

编写函数文件如下:

function out= shuang( x,y )

out=exp(-x*y-2*x*y);

end

脚本文件:

d=dblquad('shuang',0,1,-1,1)

20,求微分方程组:

编写函数文件

function dy= diff2( t,y )

dy=[0.5-y(1);y(1)-4*y(2)]

end

编写脚本文件:

X0=[1;-0.5];

tspan=[0,25];

[T,X]=ode45('diff2',tspan,X0); figure(1);

subplot(3,1,1),plot(T,X(:,1),'r' ),title('x_{1}'),grid on;

subplot(3,1,2),plot(T,X(:,2),'k' ),title('x_{2}'),grid on;

subplot(3,1,3)

plot(X(:,1),X(:,2)),title('?μí31ì?£'),grid on;

xlabel('x_{1}'),ylabel('x_{2}')三、实验结果:

1,脚本文件如下:

a=rand(10,10,5);%随机产生房间内的各个点内的温度

for i=1:1:5;

disp(a(:,:,i));

means=sum(a(:,:,i));%求一个平面内阵列的一列的和

mean(i)=sum(means)/100;%求一个平面内所有温度的平均值

disp(mean(i));%将结果显示出来

end

将脚本文件保存为fang.m保存后运行

2,脚本语言输入:

a=100*rand(6,5,10);%用随机阵列模拟一个寝室六个人的五门课的成绩,一共十个寝室

for i=1:1:10

means=sum(a(:,:,i));

mean(i)=sum(means)/30;%求出每个寝室的平均成绩

end

disp(mean);

for i=1:9%对十个寝室的平均成绩进行排序 flag=-1;

for j=10:-1:i+1

if mean(j)>mean(j-1)

y=mean(j);mean(j)=mean(j-1);mean (j-1)=y;flag=0;

end

end

if flag,break,end end

disp(mean);

将脚本文件保存为paixu.m

北航Matlab教程(R2011a)习题2解答 2

习题2 1. 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号” 对象? 3/7+0.1, sym(3/7+0.1), vpa(sym(3/7+0.1)) a=class(3/7+0.1)%双精度 b=class(sym(3/7+0.1))%符号 c=class(vpa(sym(3/7+0.1),4))%符号 d=class(vpa(sym(3/7+0.1)))%符号 2. 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。 sym('sin(w*t)') , sym('a*exp(-X)' ) , sym('z*exp(j*th)') a=sym('sin(w*t)'); symvar(a) b=sym('a*exp(-X)'); symvar(b) c=sym('z*exp(j*th)'); symvar(c) 3. 求以下两个方程的解: (提示:关于符号变量的假设要注意) (1)试写出求三阶方程05.443 =-x 正实根的程序。注意:只要正实根,不要出现其他根。 x=sym('x','positive'); f=x^3-44.5; x=solve(f,x) (2)试求二阶方程02 2=+-a ax x 在0>a 时的根。 a=sym('a','positive'); syms x; f=x^2-a*x+a^a; x=solve(f,x) 4. 观察一个数(在此用@记述)在以下四条不同指令作用下的异同: a = @ , b = sym( @ ), c = sym( @ ,' d ' ), d = sym( '@ ' ) 在此,@ 分别代表具体数值 7/3 , pi/3 , pi*3^(1/3) ;而异同通过vpa(abs(a-d)) , vpa(abs(b-d)) , vpa(abs(c-d))等来观察。 a=7/3 b=sym(7/3) c=sym(7/3,'d') d=sym('7/3') vpa(abs(a-d)) vpa(abs(b-d)) vpa(abs(c-d)) a=pi/3 b=sym(pi/3) c=sym(pi/3,'d')

matlab课后习题及答案详解

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?

Matlab程序设计教程第二版刘卫国课后参考答案(供参考)

第二章 1 求下列表达式的值。 (1) w=sqrt(2)*(1+0.34245*10^(-6)) (2) a=3.5; b=5; c=-9.8; x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/tan(b+c)+a (3) a=3.32; b=-7.9; y=2*pi*a^(2)*[(1-pi/4)*b-(0.8333-pi/4)*a] (4) t=[2,1-3*i;5,-0.65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^(2))) 2 求下列表达式 A=[-1,5,-4;0,7,8;3,61,7]; B=[8,3,-1;2,5,3;-3,2,0]; (1) A+6*B A^2-B+eye (2) A*B A.*B B.*A (3) A/B B\A (4) [A,B] [A([1,3],:);B^2] 3 根据已知,完成下列操作 (1) A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; K=find(A>10&A<25); A(K) (2) A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C (3) E

2 用if语句 score=input('请输入成绩:'); if score>=90&&score<=100 disp('A'); elseif score>=80&&score<=89 disp('B'); elseif score>=70&&score<=79 disp('C'); elseif score>=60&&score<=69; disp('D'); elseif score<60&&score>=0; disp('E'); else disp('出错'); end 用switch语句 score=input('请输入成绩:'); switch fix(score/10) case {9,10} disp('A'); case {8} disp('B'); case {7} disp('C'); case {6} disp('D'); case {0,1,2,3,4,5} disp('E'); otherwise disp('出错'); end 第四章1题 1) X=0:10; Y=x-x.^3/6; P lot(x,y) 2) t=0:0.01:2*pi; x=8.*cos(t); y=4*sqrt(2).*sin(t); plot(x,y) 2题

matlab课后习题解答第二章doc

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象? 3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1)) 〖目的〗 ●不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+0.1 c2=sym(3/7+0.1) c3=sym('3/7+0.1') c4=vpa(sym(3/7+0.1)) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = 0.5286 c2 = 37/70 c3 = 0.52857142857142857142857142857143 c4 = 0.52857142857142857142857142857143 Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 ●理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1) ans = a

symvar(sym('z*exp(j*th)'),1) ans = z 3 求以下两个方程的解 (1)试写出求三阶方程05.443 =-x 正实根的程序。注意:只要正实根,不要出现其他根。 (2)试求二阶方程022=+-a ax x 在0>a 时的根。 〖目的〗 ● 体验变量限定假设的影响 〖解答〗 (1)求三阶方程05.443 =-x 正实根 reset(symengine) %确保下面操作不受前面指令运作的影响 syms x positive solve(x^3-44.5) ans = (2^(2/3)*89^(1/3))/2 (2)求五阶方程02 2 =+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2) Warning: Explicit solution could not be found. > In solve at 83 ans = [ empty sym ] syms x clear syms a positive solve(x^2-a*x+a^2) ans = a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/2 4 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。 a =@, b = sym( @ ), c = sym( @ ,' d ' ), d = sym( '@ ' ) 在此,@ 分别代表具体数值 7/3 , pi/3 , pi*3^(1/3) ;而异同通过vpa(abs(a-d)) , vpa(abs(b-d)) , vpa(abs(c-d))等来观察。 〖目的〗 ● 理解准确符号数值的创建法。 ● 高精度误差的观察。 〖解答〗 (1)x=7/3 x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'), a =

Matlab课后习题解答

P16 Q2: 计算表达式()2 tan arccos x x -在0.25x =和0.78x π =时的函数值。 function y=jie(x) y=tan(-x.^2)*acos(x); >> jie(0.25) ans = -0.0825 >> jie(0.78*pi) ans = 0 + 0.4418i Q3:编写M 命令文件,求5010 2 1 1 1k k k k ==+ ∑∑ 的值。 a=0;b=0; for i=1:50 a=a+i*i; end for j=1:10 b=b+1/j; end c=a+b; >> c c = 4.2928e+004 P27 Q2:矩阵1234567 8 9A ????=??????,4 685563 2 2B ?? ?? =? ????? ,计算A B *,.A B *,并比较两者的区别。 >> A=[1 2 3;4 5 6;7 8 9];

>> B=[4 6 8;5 5 6;3 2 2]; >> A*B ans = 23 22 26 59 61 74 95 100 122 >> A.*B ans = 4 12 24 20 25 36 21 16 18 A*B表示A与B两矩阵相乘。 A.*B表示A与B对应元素相乘。 P34 Q2:编写一个转换成绩等级的程序,其中成绩等级转换标准为:考试分数在[] 90,100显示为优秀;分数在[) 0,60的 60,80的显示为及格;分数在[) 80,90的显示为良好;分数在[) 显示为不及格。 if x>=90 disp('优秀'); elseif x>=80 disp('良好'); elseif x>=60 disp('及格'); else disp('不及格'); end >> x=85 x = 85 良好

matlab教程课后作业

【例1.3-5】图示复数i z i z 21,3421+=+=的和。 z1=4+3*i;z2=1+2i; z12=z1+z2 clf,hold on plot([0,z1,z12],'-b','LineWidth',3) plot([0,z12],'-r','LineWidth',3) plot([z1,z12],'ob','MarkerSize',8) hold off,grid on axis equal axis ([0,6,0,6]) text(3.5,2.3,'z1') text(5,4.5,'z2') text(2.5,3.5,'z12') xlabel('real') ylabel('image') shg z12 = a=-8; r_a=a^(1/3) p=[1,0,0,-a]; R=roots(p) MR=abs(R(1)); t=0:pi/20:2*pi; x=MR*sin(t); y=MR*cos(t); plot(x,y,'b:'),grid on hold on plot(R(2),'.','MarkerSize',30,'Color','r') plot(R([1,3]),'o','MarkerSize',15,'Color','b') axis([-3,3,-3,3]),axis square

hold off r_a = 1.0000 + 1.7321i R = -2.0000 1.0000 + 1.7321i 【例1.3-10】画出衰减振荡曲线t e y t 3sin 3-=,t 的取值范围是]4,0[π。 t=0:pi/50:4*pi; y=exp(-t/3).*sin(3*t); plot(t,y,'r','LineWidth',2) axis([0,4*pi,-1,1]) xlabel('t'),ylabel('y')

MATLAB第一章作业答案

第一章 M A T L A B 概况与基本操作 1.选择题(每题2分,共20分): (1)最初的MATLAB 核心程序是采用D 语言编写的。 A.PASCAL B.C C.BASIC D.FORTRAN (2)即将于2011年9月发布的MATLAB 新版本的编号为C 。 A.MATLAB 2011Ra B.MATLAB 2011Rb C.MATLAB R2011b D.MATLAB R2011a (3)在默认设置中,MATLAB 中的注释语句显示的颜色是B 。 A.黑色 B.绿色 C.红色 D.蓝色 (4)如果要以科学计数法显示15位有效数字,使用的命令是A 。 A.format long e B.format long C.format long g D.format long d (5)在命令窗口新建变量a 、b ,如果只查看变量a 的详细信息,使用的命令为A 。 A.whos a B.who a C.who D.whos (6)如果要清除工作空间的所有变量,使用的命令为C 。 A.clear B.clear all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上B 。 A.冒号 B.分号 C.空格 D.逗号 (8)如果要重新执行以前输入的命令,可以使用D 键。 A.下箭头↓ B.右箭头→ C.左箭头← D.上箭头↑ (9)如果要查询函数det 的功能和用法,并显示在命令窗口,应使用命令C 。 A.doc B.lookfor C.help D.三者均可 (10)如果要启动Notebook 文档,下列D 操作是可行的。 A.在命令窗口输入notebook 命令 B.在命令窗口输入notebook filename 命令 C.在Word 中启动M-book 文档 D.三者均可 2.填空题(每空1分,共20分): (1)MATLAB 是matrix 和laboratory 两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler 和Jack Little 。 (2)在MATLAB 的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为褐红色,注释显示的字体为绿色,错误信息显示的字体为红色。 (3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format loose ,各行之间不添加空行的命令为format compact 。 (4)在MATLAB 中,各种标点符号的作用是不同的。例如,空格的作用是分隔数组每行各个元素,逗号的作用是分隔数组每行各个元素或函数的各个输入参数,分号的作用是作为不显示命令结果的命令行的结尾或分隔数组各列,冒号的作用是生成一维数组或表示数组全部元素,百分号的作用是引导一行注释,…的作用是连接相邻两行,感叹号的作用是调用操作系统命令。 3.程序设计题(每题10分,共40分) (1)以25m/s 的初速度向正上方投球(g=9.8m/s 2),计算到达最高点的时间tp 以及球从出发点到 最高点的距离hp 。 解:根据物理学知识,物体上抛运动的速度与经过的时间之间的关系为0p p v v gt =-,因此所需要的时间为0p p v v t g -=。而到达最高点时的速度0p v =,因此可根据此公式求出tp : v0=25;g=9.8;vp=0; tp=(v0-vp)/g tp = 2.5510

matlab课后习题答案 (附图)

习题2.1 画出下列常见曲线的图形 y (1)立方抛物线3x 命令:syms x y; ezplot('x.^(1/3)') (2)高斯曲线y=e^(-X^2); 命令:clear syms x y; ezplot('exp(-x*x)') (3)笛卡尔曲线

命令:>> clear >> syms x y; >> a=1; >> ezplot(x^3+y^3-3*a*x*y) (4)蔓叶线 命令:>> clear >> syms x y; >> a=1 ezplot(y^2-(x^3)/(a-x)) (5)摆线:()()t sin- = , = - b y 1 t x cos t a 命令:>> clear >> t=0:0.1:2*pi; >> x=t-sin(t);

>>y=2*(1-cos(t)); >> plot(x,y) 7螺旋线 命令:>> clear >> t=0:0.1:2*pi; >> x=cos(t); >> y=sin(t); >> z=t; >>plot3(x,y,z) (8)阿基米德螺线

命令:clear >> theta=0:0.1:2*pi; >> rho1=(theta); >> subplot(1,2,1),polar(theta,rho1) (9) 对数螺线 命令:clear theta=0:0.1:2*pi; rho1=exp(theta); subplot(1,2,1),polar(theta,rho1) (12)心形线

命令:>> clear >> theta=0:0.1:2*pi; >> rho1=1+cos(theta); >> subplot(1,2,1),polar(theta,rho1) 练习2.2 1. 求出下列极限值 (1)n n n n 3 lim 3 +∞ → 命令:>>syms n >>limit((n^3+3^n)^(1/n)) ans = 3 (2))121(lim n n n n ++-+∞ → 命令:>>syms n >>limit((n+2)^(1/2)-2*(n+1)^(1/2)+n^(1/2),n,inf) ans = 0 (3)x x x 2cot lim 0 → 命令:syms x ;

matlab课后习题答案第四章

第4章数值运算 习题 4 及解答 1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分 diff或数值梯度gradient指令计算)(t y'曲线 y',然后把)(t y和)(t 绘制在同一图上,观察数值求导的后果。(模拟数据从prob_data401.mat获得) 〖目的〗 ●强调:要非常慎用数值导数计算。 ●练习mat数据文件中数据的获取。 ●实验数据求导的后果 ●把两条曲线绘制在同一图上的一种方法。 〖解答〗 (1)从数据文件获得数据的指令 假如prob_data401.mat文件在当前目录或搜索路径上 clear load prob_data401.mat (2)用diff求导的指令 dt=t(2)-t(1); yc=diff(y)/dt; %注意yc的长度将比y短1 plot(t,y,'b',t(2:end),yc,'r') (3)用gradent求导的指令(图形与上相似) dt=t(2)-t(1);

yc=gradient(y)/dt; plot(t,y,'b',t,yc,'r') grid on 〖说明〗 ● 不到万不得已,不要进行数值求导。 ● 假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级 以上。 ● 求导会使数据中原有的噪声放大。 2 采用数值计算方法,画出dt t t x y x ? =0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。 〖提示〗 ● 指定区间的积分函数可用cumtrapz 指令给出。 ● )5.4(y 在计算要求不太高的地方可用find 指令算得。 〖目的〗 ● 指定区间的积分函数的数值计算法和cumtrapz 指令。 ● find 指令的应用。 〖解答〗 dt=1e-4; t=0:dt:10; t=t+(t==0)*eps; f=sin(t)./t; s=cumtrapz(f)*dt; plot(t,s,'LineWidth',3) ii=find(t==4.5); s45=s(ii) s45 =

MATLAB基础教程薛山第二版课后习题答案讲解

《及应用》实验指导书 《及应用》实验指导书 班级: T1243-7 姓名:柏元强 学号: 20120430724 总评成绩: 汽车工程学院 电测与汽车数字应用中心

目录 实验04051001 语言基础..................... 错误!未指定书签。实验04051002 科学计算及绘图............. 1错误!未指定书签。实验04051003 综合实例编程.. (31)

实验04051001 语言基础 1实验目的 1) 熟悉的运行环境 2) 掌握的矩阵和数组的运算 3) 掌握符号表达式的创建 4) 熟悉符号方程的求解 2实验内容 第二章 1. 创建的变量,并进行计算。 (1) 87,190,计算 、、a*b 。 (87); (190); *b (2) 创建 8 类型的变量,数值与(1)中相同,进行相同的计算。 8(87); 8(190); *b 2.计算: (1) 操作成绩 报告成绩

(2) e3 (3) (60) (3) (3*4) 3.设,,计算: (1) (2) (3) 23; (4*u*v)(v) (((u))^2)/(v^2) ((3*v))/(u*v) 4.计算如下表达式: (1) (2) (3-5*i)*(4+2*i) (2-8*i) 5.判断下面语句的运算结果。 (1) 4 < 20

(2) 4 <= 20 (3) 4 20 (4) 4 20 (5) 'b'<'B' 4 < 20 , 4 <= 20,4 20,4 20,'b'<'B' 6.设,,,,判断下面表达式的值。 (1) (2) (3) (4) (5) (6) 395837; a><>>> 7.编写脚本,计算上面第2题中的表达式。 ('(60)='); ((60)) ('(3)='); ((3)) ('(3*4)='); ((3*4)) 8.编写脚本,输出上面第6题中的表达式的值。395837;

(完整版)matlab习题及答案(2)

第1章MATLAB概论 1.1与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MA TLAB系统由那些部分组成? MATLAB系统主要由开发环境、MA TLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MA TLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MA TLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MA TLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

MATLAB教程 R2014a 答案 全 张志涌

目录 第一章 (1) 第二章 (5) 第三章 (12) 第四章 (32) 第五章 (47) 第六章 (54) 补充题欧拉法,龙格库塔法解方程,黑板上的题 (57) 第一章 1.创建表达式 %可以用syms先符号运算再带入值 x=1; y=2; z=(sqrt(4*x^2+1)+0.5457*exp(-0.75*x^2-3.75*y^2-1.5*x))/(2*sin(3*y)-1) z = -1.4345 2.计算复数 x=(-1+sqrt(-5))/4; y=x+8+10j y = 7.7500 +10.5590i 3.help命令学三维曲线 x=-5:0.1:5; y=x; [X,Y]=meshgrid(x,y); Z=(sin(sqrt(X.^2+Y.^2)))./(sqrt(X.^2+Y.^2)); subplot(221); surf(X,Y,Z); colormap(cool); subplot(222); plot3(X,Y,Z,'linewidth',4); %绘制三维曲线,也可以随意给定一个三维曲线的函数。如果画这个曲面,那么将绘出一族三维曲线 grid on; subplot(223); meshz(X,Y,Z); %地毯绘图 subplot(224); meshc(X,Y,Z); %等高线绘图

4.peaks等高线(更改原函数) subplot(221); contour(peaks1,20); subplot(222); contour3(peaks1,10); %可以定义等高线条数 subplot(223); contourf(peaks1,10); subplot(224); peaks1; z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ... - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ... - 1/3*exp(-(x+1).^2 - y.^2)

MATLAB课后习题集附标准答案

第2章MATLAB概论 1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么? 答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强. 2、MA TLAB系统由那些部分组成? 答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口 3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.矚慫润厲钐瘗睞枥庑赖。 4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上. 5、如何启动M文件编辑/调试器? 答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器. 6、存储在工作空间中的数组能编辑吗?如何操作? 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.彈贸摄尔霁毙攬砖卤庑。 7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.謀荞抟箧飆鐸怼类蒋薔。 8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成.在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上.厦礴恳蹒骈時盡继價骚。 9、在MA TLAB中有几种获得帮助的途径? 答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器.茕桢广鳓鯡选块网羈泪。 (2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到鹅娅尽損鹌惨歷茏鴛賴。 指定函数的在线帮助信息. (3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数.籟丛妈羥为贍偾蛏练淨。 (4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数. 注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息.預頌圣鉉儐歲龈讶骅籴。

中南大学matlab课后习题

第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+*10^-6) w = (2)a=;b=5;c=; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a); x x = (3)a=;b=; y=2*pi*a^2*[(1-pi/4)*b-4)*a]; y y = (4)t=[2,1-3i;5,]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z = +004 * - - - - 2,已知a,b,求下列表达式的值。 a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0];(1)a+6*b ans = 47 23 -10

12 37 26 -15 73 7 a^2-b+eye(3) ans = -18 -217 17 22 533 109 21 867 526(2)a*b ans = 14 14 16 -10 51 21 125 328 180 a.*b ans = -8 15 4 0 35 24 -9 122 0 b*a ans = -11 0 -15 7 228 53 3 -1 28(3)a/b ans = b\a

ans = (4)[a,b] ans = -1 5 -4 8 3 -1 0 7 8 2 5 3 3 61 7 -3 2 0 [a([1,3],:);b^2] ans = -1 5 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3.已知a,完成下列操作。 a=[23,10,,0;41,-45,65,5;32,5,0,32;6,,54,]; (1)输出a在[10,25]范围内的全部元素。 k=find(a>10&a<25) a(k) k = 1 ans = 23 (2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。 b=a(1:3,:)

汽车理论课后作业答案MATLAB

汽车理论作业MA TLAB过程 汽车驱动力与阻力平衡图 加速度倒数-速度曲线图 0 10 20 30 40 50 60 70 80 90 100 u

汽车功率平衡图 u/(km/h)最高档等速百公里油耗曲线 Ua/(km/h)

燃油积极性-加速时间曲线 源程序: 《第一章》 m=3880; g=9.8; r=0.367; x=0.85; f=0.013; io=5.83; CdA=2.77; lf=0.218; Iw1=1.798; Iw2=3.598; Iw=lw1+lw2; ig=[6.09 3.09 1.71 1.00]; %变速器传动比 L=3.2; a=1.947; hg=0.9; n=600:1:4000;

T=-19.313+295.27* n/1000-165.44*(门/1000)人2+40.874*(门/1000)人3-3.8445*( n/IOOO).%; Ft1=T*ig(1)*io*x/r; %计算各档对应转速下的驱动力 Ft2=T*ig(2)*io*x/r; Ft3=T*ig(3)*io*x/r; Ft4=T*ig(4)*io*x/r; u1=0.377*r*n/(io*ig(1)); u2=0.377*r*n/(io*ig(2)); u3=0.377*r*n/(io*ig(3)); u4=0.377*r*n/(io*ig(4)); u=0:130/3400:130; F仁m*g*f+CdA*u”2/21.15;%计算各档对应转速下的驱动阻力 F2=m*g*f+CdA*u2.A2/21.15; F3=m*g*f+CdA*u3.A2/21.15; F4=m*g*f+CdA*u4.A2/21.15; figure(1); plot(u1,Ft1, '-r' ,u2,Ft2, '-m' ,u3,Ft3, '-k' ,u4,Ft4, '-b' ,u1,F1, '-r' ,u2,F2, '-m' ,u3,F3, ' k' ,u4,F4, '-b' , 'LineWidth' ,2) title( ' 汽车驱动力与阻力平衡图' ); xlabel( 'u_{a}/km.hA{-1}' ) ylabel( 'F/N' ) gtext( 'F_{t1}' ) gtext( 'F_{t2}' ) gtext( 'F_{t3}' ) gtext( 'F_{t4}' ) gtext( 'F_{f}+F_{w}' ) %由汽车驱动力与阻力平衡图知,他们无交点,u4在最大转速时达到最大 umax=u4(3401) Ft1max=max(Ft1); imax=(Ft1max-m*g*f)/(m*g) disp( ' 假设是后轮驱动' ); C=imax/(a/L+hg*imax/L) % 附着率 delta1=1+(Iw1+Iw2)/(m*rA2)+If*ig(1)*rA2*ioA2*x/(m*rA2); delta2=1+(Iw1+Iw2)/(m*rA2)+If*ig(2)*rA2*ioA2*x/(m*rA2); delta3=1+(Iw1+Iw2)/(m*rA2)+If*ig(3)*rA2*ioA2*x/(m*rA2); delta4=1+(Iw1+Iw2)/(m*rA2)+If*ig(4)*rA2*ioA2*x/(m*rA2); a1=(Ft1-F1)/(delta1*m); %加速度 a2=(Ft2-F2)/(delta2*m); a3=(Ft3-F3)/(delta3*m); a4=(Ft4-F4)/(delta4*m); h1=1./a1; %加速度倒数 h2=1./a2; h3=1./a3; h4=1./a4; figure(2);

信号与系统课后matlab作业.

(1) t=-2:0.001:4; T=2; xt=rectpuls(t-1,T); plot(t,xt) axis([-2,4,-0.5,1.5]) 图象为: (2) t=sym('t'); y=Heaviside(t); ezplot(y,[-1,1]); grid on axis([-1 1 -0.1 1.1]) 图象为:

A=10;a=-1;B=5;b=-2; t=0:0.001:10; xt=A*exp(a*t)-B*exp(b*t); plot(t,xt) 图象为: (4) t=sym('t'); y=t*Heaviside(t); ezplot(y,[-1,3]); grid on axis([-1 3 -0.1 3.1]) 图象为:

A=2;w0=10*pi;phi=pi/6; t=0:0.001:0.5; xt=abs(A*sin(w0*t+phi)); plot(t,xt) 图象为: (6) A=1;w0=1;B=1;w1=2*pi; t=0:0.001:20; xt=A*cos(w0*t)+B*sin(w1*t); plot(t,xt) 图象为:

A=4;a=-0.5;w0=2*pi; t=0:0.001:10; xt=A*exp(a*t).*cos(w0*t); plot(t,xt) 图象为: (8) w0=30; t=-15:0.001:15; xt=cos(w0*t).*sinc(t/pi); plot(t,xt) axis([-15,15,-1.1,1.1]) 图象为:

(1)function yt=x2_3(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); (2)function yt=x2_3(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); t=0:0.001:6; subplot(3,1,1) plot(t,x2_3(t)) title('x(t)') axis([0,6,-2,3]) subplot(3,1,2) plot(t,x2_3(0.5*t)) title('x(0.5t)') axis([0,11,-2,3]) subplot(3,1,3) plot(t,x2_3(2-0.5*t)) title('x(2-0.5t)') axis([-6,5,-2,3]) 图像为:

matlab课程设计题目全

Matalab课后作业 学院:电气信息工程及其自动化 班级: 学号: 姓名: 完成日期: 2012年12月23日

1、 matlab 软件主要功能是什么?电气工程及其自动化专业本科生主要用到哪 些工具箱,各有什么功能? 答:(1)主要功能:工业研究与开发; 数学教学,特别是线性代数;数值分析和科学计算方面的教学与研究;电子学、控制理论和物理学等工程和科学学科方面的教学与研究; 经济学、化学和生物学等计算问题的所有其他领域中的教学与研究;符号计算功能;优化工具;数据分析和可视化功能;“活”笔记本功能;工具箱;非线性动态系统建模和仿真功能。 (2)常用工具箱: (a ) MATLAB 主工具箱:扩充matlab 的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能。 (b )符号数学工具箱:符号表达式、符号矩阵的创建;符号可变精度求解;因式分解、展开和简化;符号代数方程求解;符号微积分;符号微分方程。 (c ) SIMULINK 仿真工具箱: Simulink 是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink 提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。 (d )信号处理工具箱:数字和模拟滤波器设计、应用及仿真;谱分析和估计;FFT 、DCT 等 变换;参数化模型。 (e )控制系统工具箱:连续系统设计和离散系统设计;状态空间和传递函数以及模型转换;时域响应(脉冲响应、阶跃响应、斜坡响应);频域响应(Bode 图、Nyquist 图);根轨迹、极点配置。 2、设y=23e t 4-sin(43t+3 ),要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。 程序如下: clc clear x=0:0.01:1.5; y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3); y1=diff(y); subplot(2,1,1) plot(x,y) subplot(2,1,2) plot(x(1:150),y1) 曲线如下图所示:

相关主题