文档库 最新最全的文档下载
当前位置:文档库 › matlab课后答案

matlab课后答案

matlab课后答案
matlab课后答案

班级:08通信 姓名:翁惠柳 学号:222008315222023

实验 一 : matlab 的基本操作

一、实验目的: 1, 熟悉掌握基本矩阵的建立。

2, 掌握一些简单操作、逻辑操作以及关系运算。

3, 熟悉MATLAB 的矩阵、数组运算及其函数的使用方法; 4,

掌握定位矩阵元素的方法。

二、实验内容:

1、 利用基本矩阵产生3*3和15*8的单位阵、全1阵、全0阵、均匀分布的随机阵([-1,1]之间)、正态分布随机阵(均值为1,方差为4)。

2、 利用diag 等函数产生下列矩阵: 0080

7523

0a ?? ?=- ? ??

? 20405070

8b ??

?= ? ??

?

然后利用reshape 函数将它们变成行向量。

3、 产生一均匀分布的(-5,5)之间的随机阵(50*2),要求精确到小数点后一位。

4、 编程是实现当α∈[-π, π],间隔为1?时求解正弦和余弦的值。

5、 利用rand 函数产生(0,1)间均匀分布的10*10的随机矩阵A ,然后统计A 中大于等于

0.6的元素个数。 6、 利用randn 函数产生均值为0,方差为1的10*10正态分布随机矩阵A ,然后统计A 中

大于-1.5且小于0.5的元素个数。 7

8B 。 9、 在一矩阵A (100*3)中,存在奇异值(假设大于100的值认为是奇异值),编程实现删

去奇异值所在的行。

10、 在给定的100*100矩阵中,删去整行全为0的行,删去整行全为0的列。 三、实验结果: 1、程序:3*3的单位阵: >>a=eye(3) a =

1 0 0 0 1 0 0 0 1 15*8的单位阵:

>>a=eye(15,8)

a =

1 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0

0 0 1 0 0 0 0 0

0 0 0 1 0 0 0 0

0 0 0 0 1 0 0 0

0 0 0 0 0 1 0 0

0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 3*3的全1阵:

>>a=ones(3)

a =

1 1 1

1 1 1

1 1 1

15*8的全1 阵

>>a=ones(15,8)

a =

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 3*3的全0阵:

>>a=zeros(3)

a =

0 0 0

0 0 0

0 0 0

15*8的全0阵:

>>a=zeros(15,8)

a =

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 3*3的均匀分布随机阵([-1,1]之间):

>>r=2*rand(3,3)-1

r =

0.6294 0.8268 -0.4430

0.8116 0.2647 0.0938

-0.7460 -0.8049 0.9150

3*3的正态分布随机阵(均值为1,方差为4):

>>r=2*randn(3,3)+1

r =

6.5389 2.4508 0.5901

-1.6998 0.8739 0.7517

7.0698 2.4295 3.9794

15*8的均匀分布随机阵([-1,1]之间):

>>r=2*rand(15,8)-1

r =

Columns 1 through 5

0.5844 -0.9077 0.4187 0.3982 0.2321

0.9190 -0.8057 0.5094 0.7818 -0.0534

0.3115 0.6469 -0.4479 0.9186 -0.2967

-0.9286 0.3897 0.3594 0.0944 0.6617

0.6983 -0.3658 0.3102 -0.7228 0.1705

0.8680 0.9004 -0.6748 -0.7014 0.0994

0.3575 -0.9311 -0.7620 -0.4850 0.8344

0.5155 -0.1225 -0.0033 0.6814 -0.4283

0.4863 -0.2369 0.9195 -0.4914 0.5144

-0.2155 0.5310 -0.3192 0.6286 0.5075

0.3110 0.5904 0.1705 -0.5130 -0.2391

-0.6576 -0.6263 -0.5524 0.8585 0.1356

0.4121 -0.0205 0.5025 -0.3000 -0.8483

-0.9363 -0.1088 -0.4898 -0.6068 -0.8921

-0.4462 0.2926 0.0119 -0.4978 0.0616 Columns 6 through 8

0.5583 0.3784 0.5498

0.8680 0.4963 0.6346

-0.7402 -0.0989 0.7374

0.1376 -0.8324 -0.8311

-0.0612 -0.5420 -0.2004

-0.9762 0.8267 -0.4803

-0.3258 -0.6952 0.6001

-0.6756 0.6516 -0.1372

0.5886 0.0767 0.8213

-0.3776 0.9923 -0.6363

0.0571 -0.8436 -0.4724

-0.6687 -0.1146 -0.7089

0.2040 -0.7867 -0.7279

-0.4741 0.9238 0.7386

0.3082 -0.9907 0.1594

15*8的正态分布随机阵(均值为1,方差为4):

>>r=2*randn(15,8)+1

r =

Columns 1 through 5

1.0670

2.0401 1.6151 -1.7234 2.6521

-1.6674 0.9599 -1.5142 1.9101 4.0540

3.2550 0.9305 -0.7309 -0.6974 1.9338

1.7004 -0.5963 0.6469 0.3302 0.5806

0.4019 3.0374 2.5828 2.1056 2.2504

1.0458 0.7336 -1.6640 3.0782 1.3665

0.4760 -0.4291 -3.6597 -1.2353 -1.0595

-2.5004 3.7028 -1.8982 3.5213 2.8984

0.4287 0.5505 1.6670 2.3203 1.6141

-0.6627 -0.1781 1.7827 0.8643 1.2703 -0.9584 0.4125 1.9034 0.6096 2.0305 -1.3128 -0.6959 0.7394 0.5648 1.5228 -0.0671 -1.2403 1.3674 0.3938 -0.8830 -3.0053 6.0520 0.0477 1.0461 0.6753

2.9285 4.3110 2.7240 1.1026 0.7079

Columns 6 through 8

-0.0640 0.1107 -1.1334

4.3642 0.6881 2.8675

-0.7515 1.5521 1.7006

0.0324 0.4777 0.9420

-0.4240 1.8868 1.3649

-1.3484 1.7838 -2.1301

0.6155 -1.5014 0.8309

0.4519 -0.8959 4.2079

4.0601 -0.4822 1.1967

0.5020 -0.0156 1.0827

-1.1284 0.3588 -0.4683

4.2069 1.0249 0.9384

3.4694 -5.0584 1.4647

0.5407 0.0860 1.8528

-2.0123 3.4849 0.2544

2、a矩阵:

>> v1=[8 -7 2];

>> v2=[5 3];>> c=fliplr(diag(v1))+fliplr(diag(v2,-1))

c =

0 0 8

0 -7 5

2 3 0

b矩阵:

>> v1=[2 5 8]; 4 5 7

>> v2=[4 0 7];

>> c=diag(v1)+fliplr(diag(v2))

c =

2 0 4

0 5 0

7 0 8

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

a =

2.3000 1.0000

4.6000 -1.2000

-1.7000 3.5000

0.7000 1.2000

0.5000 3.4000

-1.1000 -2.6000

4.4000 -3.7000

1.8000 1.5000 -

2.7000 -1.9000 -2.0000 2.1000

3.7000 -0.3000

3.7000 -3.3000

4.1000 -1.0000 4.9000 1.6000 0.8000 2.0000 -1.6000 0.5000 -2.2000 0.8000 -0.3000 1.4000 3.9000 -0.6000 -1.3000 -2.4000 3.7000 0.8000

3.7000 0.7000

4.0000 3.8000 3.6000 4.8000 3.3000 2.1000 3.0000 1.8000 1.8000 -1.5000

1.8000 -4.6000

2.8000 -4.4000 2.5000 0.4000 -

3.9000 2.6000 -2.0000 -2.6000 -0.6000 -2.6000 3.2000 -2.4000 2.9000 -2.4000

4.2000 3.9000 -4.1000 -1.8000 -2.1000 0.4000 -0.6000 2.9000 1.9000 4.0000 3.3000 -3.2000 -1.2000 3.2000 -4.9000 3.4000 3.3000 -1.7000 2.4000 -3.9000 1.0000 -0.2000 4.3000 -2.0000 -1.8000 3.5000 1.0000 -4.5000 -4.8000 -0.4000

4、脚本:x=[-pi:pi/180:pi]

y1=sin(x)

y2=cos(x)

结果:

x =

Columns 1 through 5

-3.1416 -3.1241 -3.1067 -3.0892 -3.0718

Columns 6 through 10

-3.0543 -3.0369 -3.0194 -3.0020 -2.9845……Columns 356 through 360

3.0543 3.0718 3.0892 3.1067 3.1241

Column 361

3.1416

y1 =

Columns 1 through 5

-0.0000 -0.0175 -0.0349 -0.0523 -0.0698

Columns 6 through 10………Columns 356 through 360

0.0872 0.0698 0.0523 0.0349 0.0175

Column 361

0.0000

y2 =

Columns 1 through 5

-1.0000 -0.9998 -0.9994 -0.9986 -0.9976

Columns 6 through 10

-0.9962 -0.9945 -0.9925 -0.9903 -0.9877……Columns 356 through 360 -0.9962 -0.9976 -0.9986 -0.9994 -0.9998

Column 361

-1.0000

5、A=rand(10,10)

b=A>0.6

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

c=sum(v)

A =

Columns 1 through 5

0.6981 0.1904 0.4820 0.8244 0.5944

0.6665 0.3689 0.1206 0.9827 0.0225

0.1781 0.4607 0.5895 0.7302 0.4253

0.1280 0.9816 0.2262 0.3439 0.3127

0.9991 0.1564 0.3846 0.5841 0.1615

0.1711 0.8555 0.5830 0.1078 0.1788

0.0326 0.6448 0.2518 0.9063 0.4229

0.5612 0.3763 0.2904 0.8797 0.0942

0.8819 0.1909 0.6171 0.8178 0.5985

0.6692 0.4283 0.2653 0.2607 0.4709

Columns 6 through 10

0.6959 0.7184 0.1537 0.2407 0.3445

0.6999 0.9686 0.2810 0.6761 0.7805

0.6385 0.5313 0.4401 0.2891 0.6753

0.0336 0.3251 0.5271 0.6718 0.0067

0.0688 0.1056 0.4574 0.6951 0.6022

0.3196 0.6110 0.8754 0.0680 0.3868

0.5309 0.7788 0.5181 0.2548 0.9160

0.6544 0.4235 0.9436 0.2240 0.0012

0.4076 0.0908 0.6377 0.6678 0.4624

0.8200 0.2665 0.9577 0.8444 0.4243

b =

Columns 1 through 9

1 0 0 1 0 1 1 0 0

1 0 0 1 0 1 1 0 1

0 0 0 1 0 1 0 0 0

0 1 0 0 0 0 0 0 1

1 0 0 0 0 0 0 0 1

0 1 0 0 0 0 1 1 0

0 1 0 1 0 0 1 0 0

0 0 0 1 0 1 0 1 0

1 0 1 1 0 0 0 1

c =

37

6、A=randn(10,10)

b=-0.5

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

c=sum(v)

A =

Columns 1 through 5

-0.1132 -0.6264 -0.5933 -0.9870 0.3277

1.6360 0.2495 0.4013 0.7596 -0.2383

-0.4251 -0.9930 0.9421 -0.6572 0.2296

0.5894 0.9750 0.3005 -0.6039 0.4400

-0.0628 -0.6407 -0.3731 0.1769 -0.6169

-2.0220 1.8089 0.8155 -0.3075 0.2748

-0.9821 -1.0799 0.7989 -0.1318 0.6011

0.6125 0.1992 0.1202 0.5954 0.0923

-0.0549 -1.5210 0.5712 1.0468 1.7298

-1.1187 -0.7236 0.4128 -0.1980 -0.6086 Columns 6 through 10

-0.7371 0.1017 0.3893 2.2272 -1.0322

-1.7499 2.7873 0.7512 -0.0692 1.3312

0.9105 -1.1667 1.7783 -0.5073 -0.4189

0.8671 -1.8543 1.2231 0.2358 -0.1403

-0.0799 -1.1407 -1.2833 0.2458 0.8998

0.8985 -1.0933 -2.3290 0.0700 -0.3001

0.1837 -0.4336 0.9019 -0.6086 1.0294

0.2908 -0.1685 -1.8356 -1.2226 -0.3451

0.1129 -0.2185 0.0668 0.3165 1.0128

0.4400 0.5413 0.0355 -1.3429 0.6293

b =

Columns 1 through 9

0 1 1 1 0 1 0 0 0

0 0 0 0 0 1 0 0 0

0 1 0 1 0 0 1 0 1

0 0 0 1 0 0 1 0 0

0 1 0 0 1 0 1 1 0

1 0 0 0 0 0 1 1 0

1 1 0 0 0 0 0 0 1

0 0 0 0 0 0 0 1 1

0 1 0 0 0 0 0 0 0

1 1 0 0 1 0 0 0 1 Column 10

1

c =

29

7、a=[0.53 0.97 1.05 1.34 0.78 2.20 0.67]

b=[0.34 0.67 0.45 0.89 0.12 0.67 0.24]

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

disp('a<1 and b<=0.5')

elseif and(a<1,b>0.5)

disp('a<1 and b>0.5' )

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

disp('a>=1 and b<0.5')

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

disp('a>=1 and b>0.5')

else

disp('error')

end

a =

0.5300 0.9700 1.0500 1.3400 0.7800 2.2000 0.6700

b =

0.3400 0.6700 0.4500 0.8900 0.1200 0.6700 0.2400 error

8、A=[0.53 0.97 1.05;1.23 0.67 1.56;0.34 1.98 0.36];

b=A>1;

c=A.*b;

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

v =

1.2300

1.9800

1.0500

1.5600

9、A=rand(100,3)+99.1

b=A>100;

c=A.*b;

[i,j,B]=find(c)

A =

100.0879 99.7312 99.8829

99.2704 99.4551 99.7938

99.3578 100.0970 99.1098……

99.5440 99.2257 99.6882

99.1600 99.4089 99.4662

99.9667 99.8261 99.9068

B =

100.0879

100.0828

100.0569……

100.0870

100.0386

100.0419

10、A=[1 2 0 3 0;0 0 0 0 0;1 8 0 5 0;3 4 0 5 0;6 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'

A =

1 2 0 3 0

0 0 0 0 0

1 8 0 5 0 3 4 0 5 0

6 4 0 2 0

A =

1 2 3

1 8 5

3 4 5

6 4 2

实验 二 : matlab 绘图(1)

一、实验目的:

1. 熟练掌握MATLAB 绘制基本函数图像。 2. 掌握对曲线加上标题、轴标记和曲线说明。 3. 掌握多条曲线的绘制方法。 4. 理解axis 的使用方法。

二、实验内容:

1、 常用的三角函数的绘制,如正弦函数,余弦函数,正切函数,余切函数。

2、 画出对数和指数函数的曲线,并分别加上标题、轴标记和曲线说明(这里可采用多种方

法来标注曲线)。 3、 将图形窗口分成两格,分别绘制正割和余割函数,并加上适当的标注。 4、 设有函数53x y e x +=+,在半对数坐标系中绘制曲线([1,10])x ∈。 5、 绘制出多峰函数peaks 和三角函数的多条曲线。

6、 将图形窗口分成两个窗格,并分别绘制出以下函数在[-3,3]区间上的曲线:

125y x =+ 2

231y x x =-+

三、实验结果:

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、程序:x=0.01:.01:1;

y1=log10(x)

y2=exp(x)

figure(1)

plot(x,y1,'k-',x,y2,'k--'), grid on

legend('\ity=log_{10}(x)','\ity=e^x') title('y=log_{10}(x) and y=e^x')

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

3、程序:x=0:pi/40:4*pi

figure(1)

subplot(2,1,1)

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

title('sec(x)')

ylabel('y'),xlabel('x') subplot(2,1,2)

plot(x,csc(x)),grid on

title('csc(x)')

ylabel('y'),xlabel('x') 结果:

4、程序:x=(1:.1:10)

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

semilogx(x,y,'k-')

title('y=e^(x+5)+x.^3') ylabel('y'),xlabel('x') 结果:

5、程序:(1)[x,y]=meshgrid(-3:.1:3);

z=peaks(x,y);

x1=x(1,:);

plot3(x1,z),grid on

结果:

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

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

figure(1)

plot(x,y1,'k-',x,y2,'k--'),grid on

text(pi,0.05,'\leftarrow sin(\alpha)')

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

title('sin(\alpha) and cos(\alpha)')

xlabel('\alpha'),ylabel('sin(\alpha)?cos(\alpha)') 结果:

6、程序:x=-3:.1:3

y1=2*x+5

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

figure(1)

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

axis([1 2 5 10])

title('y1=2x+5')

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

subplot(2,1,2),plot(x,y2) axis([-1 0 0 5])

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

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

结果:

实验三:matlab绘图(2)

一、实验目的:

1、熟练掌握MATLAB二维曲线的绘制方法;

2、掌握网格数据的生成方法;

3、掌握三维图的绘制方法;

4、理解各种特殊图形的绘制方法。

二、实验内容:

1、按图3.19的方式显示autumn、bone、cool、hot、hsv、gray、flag 、line等颜色板的颜色

条形图。

2、有一位研究生,一年中平均每月的费用为生活费190元、资料费33元、电话费45元、

购买衣服42元及其它费用45元。请以饼图表示出他每月的消费比例,并分离出表示资料费用的的切片。请给出图中每一块加以标注。

3、画出下列函数的三维曲线和网格曲线。

22

=-+-

(2)( 1.2)

z x y

4、画出下列函数的曲面及等高线图。

22

z x y xy

=++

()()sin()

5、画出各种大小和形状的球、柱体。

三、实验结果:

(1)、程序:autumn

cmap=colormap;

L=length(cmap);

x=[1:L];

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

figure(1)

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

;

title('autumn')

colormap('autumn')

(2)、程序bone

cmap=colormap;

L=length(cmap);

x=[1:L];

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

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

title('bone')

colormap('bone')

(3)、程序: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')

(4):hot

cmap=colormap;

L=length(cmap);

x=[1:L];

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

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

title('hot')

colormap('hot')

北航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 求下列表达式的值。 (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课后习题解答

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课后习题解答第二章

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象 3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+) 〖目的〗 不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+ c2=sym(3/7+ c3=sym('3/7+') c4=vpa(sym(3/7+) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = c2 = 37/70 c3 = c4 = 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 5求符号矩阵???? ??????=3332 31 232221 131211 a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。 〖目的〗 理解subexpr 指令。 〖解答〗 A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]') DA=det(A) IA=inv(A); [IAs,d]=subexpr(IA,d) A = [ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA = a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d = 1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31) 8(1)通过符号计算求t t y sin )(=的导数 dt dy 。(2)然后根据此结果,求- =0t dt dy 和2 π = t dt dy 。 〖目的〗 diff, limit 指令的应用。 如何理解运行结果。 〖解答〗 syms t

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. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化 对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

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习题及答案(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基础教程薛山第二版课后习题答案讲解

《及应用》实验指导书 《及应用》实验指导书 班级: 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基础练习题(带答案)

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

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课后习题答案

第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 ? =0 sin )(在]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基础教程-薛山第二版-课后习题答案

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

目录 实验04051001 MATLAB语言基础 (1) 实验04051002 MATLAB科学计算及绘图 (18) 实验04051003 MATLAB综合实例编程 (31)

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

(2) e3 (3) 3cos 4??π ??? clear,clc a=sind(60) b=exp(3) c=cos(3*pi/4) 3.设2u =,3v =,计算: (1) 4 log uv v (2) () 2 2 e u v v u +- (3) clear,clc u=2;v=3; a=(4*u*v)/log(v) b=((exp(u)+v)^2)/(v^2-u) c=(sqrt(u-3*v))/(u*v) 4.计算如下表达式: (1) ()() 3542i i -+ (2) () sin 28i - clear,clc (3-5*i)*(4+2*i) sin(2-8*i) 5.判断下面语句的运算结果。 (1) 4 < 20 (2) 4 <= 20

matlab课后习题与答案

习题二 1.如何理解“矩阵是MATLAB最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 因此,矩阵是MATLAB最基本、最重要的数据对象。 2.设A和B是两个同维同大小的矩阵,问: (1)A*B和A.*B的值是否相等? 答:不相等。 (2)A./B和B.\A的值是否相等? 答:相等。 (3)A/B和B\A的值是否相等? 答:不相等。 (4)A/B和B\A所代表的数学含义是什么? 答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。 3.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。 答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5]) (2)删除矩阵A的第7号元素。 答:A(7)=[] (3)将矩阵A的每个元素值加30。 答:A=A+30; (4)求矩阵A的大小和维数。 答:size(A); ndims(A); (5)将向量t的0元素用机器零来代替。 答:t(find(t==0))=eps; (6)将含有12个元素的向量x转换成34 矩阵。 答:reshape(x,3,4); (7)求一个字符串的ASCII码。 答:abs(‘123’); 或double(‘123’); (8)求一个ASCII码所对应的字符。 答:char(49);

4. 下列命令执行后,L1、L2、L3、L4的值分别是多少? A=1:9;B=10-A;... L1=A==B; L2=A<=5; L3=A>3&A<7; L4=find(A>3&A<7); 答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0] L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0] L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0] L4的值为[4, 5, 6] 5. 已知 23100.7780414565532503269.5454 3.14A -????-??=????-?? 完成下列操作: (1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32?子矩阵构 成矩阵D ,B 与C 的乘积构成矩阵E 。 答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C; (2) 分别求E=10&A<25)。 答:E=10&A<25)=[1; 5]。 6. 当A=[34, NaN, Inf, -Inf, -pi, eps, 0]时,分析下列函数的执行结果:all(A), any(A),isnan(A),isinf(A),isfinite(A)。 答:all(A)的值为0 any(A) 的值为1 isnan(A) 的值为[0, 1, 0, 0, 0, 0, 0] isinf(A) 的值为[0, 0, 1, 1, 0, 0, 0] isfinite(A) 的值为[1, 0, 0,0, 1, 1, 1]

汽车理论课后作业答案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练习题和答案

matlab练习题和答案 控制系统仿真实验 Matlab部分实验结果 目录 实验一 MATLAB基本操 作 ............................................................................................ 1 实验二 Matlab编程 .................................................................................................... 5 实验三Matlab底层图形控制 (6) 实验四控制系统古典分析.............................................................................................12 实验五控制系统现代分析 . (15) 实验六 PID控制器的设 计 ...........................................................................................19 实验七系统状态空间设计.............................................................................................23 实验九直流双闭环调速系统仿真 . (25) 实验一 MATLAB基本操作 1 用MATLAB可以识别的格式输入下面两个矩阵 1233,,1443678,i,,,,2357,,,,2335542,i,,,, A,1357B,,,2675342, i,,3239,,,,189543,,,,1894,, 再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调 用相应的命令查看MATLAB工作空间的占用情况。 A=[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];

matlab课后习题答案第一章

第1章基础准备及入门 习题1及解答 1数字1.5e2,1.5e3中的哪个与1500相同吗? 〖解答〗 1.5e3 2请指出如下5个变量名中,哪些是合法的? abcd-2xyz_33chan a变量ABCDefgh 〖解答〗 2、5是合法的。 3在MATLAB环境中,比1大的最小数是多少? 〖解答〗 1+eps 4设a=-8,运行以下三条指令,问运行结果相同吗?为什么? w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2 〖解答〗 (1)不同。具体如下 w1=a^(2/3)%仅求出主根 w2=(a^2)^(1/3)%求出(-8)^2的主根 w3=(a^(1/3))^2%求出(-8)主根后再平方 w1= -2.0000+3.4641i w2= 4.0000 w3= -2.0000+3.4641i (2)复数的多方根的,下面是求取全部方根的两种方法: (A)根据复数方根定义 a=-8;n=2;m=3; ma=abs(a);aa=angle(a); for k=1:m%m决定循环次数 sa(k)=(aa+2*pi*(k-1))*n/m;%计算各根的相角 end result=(ma^(2/3)).*exp(j*sa)%计算各根 result= -2.0000+3.4641i 4.0000-0.0000i-2.0000-3.4641i

(B )利用多项式02 3=-a r 求根p=[1,0,0,-a^2];r=roots(p)r =-2.0000+3.4641i -2.0000-3.4641i 4.00005指令clear,clf,clc 各有什么用处? 〖解答〗clear 清除工作空间中所有的变量。clf 清除当前图形。clc 清除命令窗口中所有显示。6以下两种说法对吗?(1)“MATLAB 进行数值的表达精度与其 指令窗中的数据显示精度相同。”(2) MATLAB 指令窗中显示的数值有效位数不超过7位。” 〖解答〗 (1)否;(2)否。 7想要在MATLAB 中产生二维数组???? ??????=987654321S ,下面哪些指令能实现目的? (A )S=[1,2,3;4,5,6;7,8;9] (B )S=[123;456;789] (C )S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入 〖解答〗 前两种输入方法可以,后一种方法不行。8试为例1.3-5编写一个解题用的M 脚本文件? 〖解答〗 直接点击新文件图标,出现M 文件编辑器窗口;在该M 文件编辑器中,输入例1.3-5中的全部指令;并另存为p109.m ,便得到所需的脚本文件。

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) 曲线如下图所示:

相关文档
相关文档 最新文档