MATLAB课后习题Word文档下载推荐.docx

上传人:b****3 文档编号:8226160 上传时间:2023-05-10 格式:DOCX 页数:28 大小:23.06KB
下载 相关 举报
MATLAB课后习题Word文档下载推荐.docx_第1页
第1页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第2页
第2页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第3页
第3页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第4页
第4页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第5页
第5页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第6页
第6页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第7页
第7页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第8页
第8页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第9页
第9页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第10页
第10页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第11页
第11页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第12页
第12页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第13页
第13页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第14页
第14页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第15页
第15页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第16页
第16页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第17页
第17页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第18页
第18页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第19页
第19页 / 共28页
MATLAB课后习题Word文档下载推荐.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB课后习题Word文档下载推荐.docx

《MATLAB课后习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB课后习题Word文档下载推荐.docx(28页珍藏版)》请在冰点文库上搜索。

MATLAB课后习题Word文档下载推荐.docx

4、在给定的100*100矩阵中,删去整行为0的行,删去整列为0的列。

A=diag([1234],1)

B=any(A)

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

A(:

i)=[]%删除全为0的列

B=any(A'

A(j,:

)=[]%删除全为0的行

运行结果:

初始值:

A=

01000

00200

00030

00004

00000

操作后:

1000

0200

0030

0004

1、将窗口分割成四格,分别绘制正弦、余弦、正切和余切函数曲线,并加上适当的标注。

程序为:

x=0:

pi/50:

2*pi;

k=[1265176101];

x(k)=[];

%删除正切和余切的奇异点

figure

(1)

subplot(2,2,1)

plot(x,sin(x),'

k--'

),gridon

legend('

\ity=sin(x)'

title('

y=sin(x)'

xlabel('

x'

),ylabel('

y'

subplot(2,2,2)

plot(x,cos(x),'

r--'

\ity=cos(x)'

y=con(x)'

subplot(2,2,3)

plot(x,tan(x),'

k'

\ity=tan(x)'

y=tan(x)'

subplot(2,2,4)

plot(x,cot(x),'

b-'

\ity=cot(x)'

y=cot(x)'

运行如下:

2、绘制多峰函数peaks和三角函数多条曲线。

多峰函数peaks:

[x,y]=meshgrid(-3:

0.15:

3);

z=peaks(x,y);

x1=x(1,:

);

plot(x1,z),gridon

二维多峰函数'

图形为:

plot3(x,y,z),gridon

三维多峰函数'

三角函数多条曲线:

程序为:

t=-pi:

pi/20:

pi;

y1=sinh(t);

%双曲正弦

y2=cosh(t);

%双曲余弦

subplot(2,1,1)

plot(t,y1,'

t,y2,'

k-'

\ity1=sinh(t)'

'

\ity2=cosh(t)'

三角函数1'

t'

subplot(2,1,2)

plot(t,sin(t),'

holdon%保持原有图像函数

plot(t,cos(t),'

\ity2=cos(t)'

\ity1=sin(t)'

三角函数2'

运行图形为:

3、将图形窗口分成两个,分别绘制以下函数在[-3,3]区间上的曲线,并利用axis调整轴刻度,使他们具有相同缩放尺度。

y1=2x+5;

y2=x2-3x+1。

x=-3:

0.1:

3;

y1=2*x+5;

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

plot(x,y1,'

r-'

\ity1=2*x+5'

y1=2x+5'

y1'

plot(x,y2,'

\ity2=x.^2-3*x+1'

y2=x^2-3x+1'

y2'

调整后的y1=2x+5'

axis([-33-1010])

调整后的y2=x^2-3x+1'

axis([-33-1010])%调整坐标轴

运行后的图形:

4、绘制饼图。

x=[19033454245];

explode=[01000];

colormaphsv

pie(x,explode)

gtext('

生活费'

资料费'

电话费'

衣服'

其它'

二维饼图'

pie3(x,explode)

三维饼图'

5、画出函数z=(x-2)2+(y-1.2)2+sin(xy)的三维曲线和网格曲线。

[x,y]=meshgrid(0:

0.5:

10);

%为三维绘图产生x,y数据矩阵

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

subplot(2,1,1)

mesh(x,y,z),gridon%绘制网格曲线

网格曲线'

三维曲线'

6、画出下列函数的曲面及等高线图z=x2+y2+sin(xy)。

pi/10:

2*pi);

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

surfc(x,y,z),gridon

曲面和等高线'

[c,h]=contour(x,y,z);

set(h,'

showtext'

on'

textstep'

get(h,'

levelstep'

)*2);

等高线'

1、将图形窗口分成两个,分别绘制正割和余割曲线,并加上标注。

x1=0:

pi\10:

plot(x,sec(x),'

\ity=sec(x)'

y=sec(x)'

plot(x,csc(x),'

\ity=csc(x)'

y=csc(x)'

运行后图形为:

2、画出对数和指数曲线并加上标注。

x=0.01:

10;

y1=log10(x);

y2=exp(x);

\ity1=log-{10}(x)'

y1=log-{10}(x)'

\ity2=exp(x)'

y2=exp(x)'

3、设有函数y=exp(x+5)+x.^3,在半对数坐标系中绘制曲线。

x=1:

0.01:

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

plot(x,y,'

\ity=exp(x+5)+x.^3'

平面坐标'

semilogx(x,y,'

),gridon%半对数坐标轴

半对数坐标'

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

绘制柱体的程序为:

t=0:

[x,y,z]=cylinder(2+cos(t));

surf(x,y,z),axissquare

复杂柱面体'

cylinder,axissquare

简单柱体'

绘制球的程序为:

sphere

axisequal

半径为1的球'

[x,y,z]=sphere;

x=2*x;

y=2*y;

z=2*z;

半径为2的球'

5、绘制三维条形图:

Y=cool(7);

subplot(2,2,1),bar3(Y,'

detached'

),title('

Detached'

subplot(2,2,2),bar3(Y,0.25,'

Width=0.25'

subplot(2,2,3),bar3(Y,'

grouped'

Grouped'

subplot(2,2,4),bar3(Y,'

stacked'

Stacked'

运行后的图形为:

6、绘制二维条形图

Y=round(rand(5,3)*10);

subplot(2,2,1),bar(Y,'

group'

Group'

subplot(2,2,2),bar(Y,'

stack'

Stack'

subplot(2,2,3),barh(Y,'

subplot(2,2,4),bar(Y,1.5),title('

Width=1.5'

1、编写M函数实现:

求一个数是否为素数,在编写一主程序,要求通过键盘输入一个整数,然后完成判断其是否为素数。

functionprime(x)

n=fix(sqrt(x));

fori=2:

n

ifrem(x,i)==0

a='

fasle'

return

elsea='

true'

end

>

x=56;

prime(x)

a=

fasle

2、编写程序完成从表示字符的响亮中删去空格,并求出字符个数。

function[nstr,n]=del(str)

nstr=[];

k=find(str~='

'

nstr=str(k);

n=length(nstr);

end

运行后为:

str='

drhyfghgtesdhgfds'

;

[nstr,n]=del(str)

nstr=

drhyfghgtesdhgfds

n=

17

3、编写M函数统计十进制数值中’0‘的个数,然后编写脚本文件,实现统计所有自然数1~2006中0的个数。

M函数为:

functiony=geshu(x)

s=num2str(x);

n=length(s);

m=0;

ifs

(1)=='

0'

disp('

xiserror'

end

fori=2:

ifs(i)=='

m=m+1;

y=m;

脚本文件为'

jiu4'

sum=0;

forx=1:

2006

y=geshu(x);

sum=sum+y;

disp(sum)

运行结果为:

jiu4

504

4、利用menu函数输入选择参数ch。

当ch=1时,产生[-10,10]之间均匀分布的随机数;

当ch=2时,产生[-5,5]之间均匀分布的随机数;

当ch=3时,产生[-1,1]之间均匀分布的随机数;

当ch=4时,产生均值为0,方差为1的正态分布随机数。

要求使用switch函数。

s=menu('

ch'

1'

2'

3'

4'

n=[];

switchs

case1,n=20*rand(3)-10

case2,n=10*rand(3)-5

case3,n=2*rand(3)-1

case4,n=randn(3)

otherwisedisp('

error'

运行后:

按下2后:

4.22740.43663.3897

3.00374.8478-0.6674

-2.14052.1568-0.2938

5、求阵列x的平均值和标准差

function[mean1,stdev]=stat2(x)

[m,n]=size(x);

ifm==1

m=n;

s1=sum(x);

s2=sum(x.^2);

mean1=s1/m;

stdev=sqrt(s2/m-mean1.^2);

x=rand(4,4)+2;

[mean1,stdev]=stat2(x)

mean1=

2.52072.39222.64982.2539

stdev=

0.17130.18920.17250.2027

6、测试程序执行时间

%tech1.m

tic

i=0;

fort=0:

.01:

100

i=i+1;

y(i)=sin(t);

toc

%tech2.m

100;

y=sin(t);

Toc

Elapsedtimeis0.015217seconds.

Elapsedtimeis0.000508seconds.

1、产生menu选择输出颜色

colorselection'

red'

green'

blue'

yellow'

black'

case1,scolor='

case2,scolor='

case3,scolor='

case4,scolor='

case5,scolor='

end

Scolor

2、企业发放的奖金按个人完成的利润(I)提成。

分段提成比例wei即如王某完成25万元利润时,个人可得

y=10x10%+10x5%+5x2%(万元)

据此编写程序,求企业职工的奖金。

functionbonus=bon(I)

n=fix(I/100000)

if(n>

4)

n=4;

bon1=100000*0.1;

bon2=0.05*(200000-100000);

bon3=0.02*(400000-200000);

switchn

case0,bonus=I*100000;

case1

bonus=bon1+0.05*(I-100000);

case{2,3}

bonus=bon1+bon2+0.02*(I-200000);

case4,bonus=bon1+bon2+bon3+0.01*(I-400000);

I=1700000;

bonus=bon(I)

bonus=

32000

3、有一分数序列2/1,3/2,5/3/,8/5……求前15项和。

s=1;

t=2;

x=t/s;

sum=sum+x;

fori=1:

15

z=t;

t=s+t;

s=z;

sum

qiuhe

sum=

26.1881

4、约瑟夫环

n=input('

pleaseinputn:

'

m=input('

pleaseinputm:

b=1:

n;

i=1;

c=0;

s=0;

whiles<

ifb(i)~=0

c=c+1;

ifc==m

s=s+1;

a(s)=b(i);

b(i)=0;

c=0;

ifi==n

i=0;

a

yuese

12

3

Columns1through8

369124817

Columns9through16

211510316520

Columns17through23

11921019151

5、编写程序计算x在(-3,3)上,并画出曲线。

functiony=func2(x)

n=length(x);

if(x(i)>

=-3)&

&

(x(i)<

-1)

y(i)=[-x(i).^2-4*x(i)-3]/2;

elseif(x(i)>

=-1)&

1)

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

else(x(i)>

=1)&

3)

y(i)=[-x(i).^2+4*x(i)-3]/2;

脚本为:

y=func2(x);

plot(x,y),gridon

y=func2(x)'

1、求矩阵与的逆矩阵和行列式。

a=[535;

374;

798];

b=[242;

679;

836];

c1=inv(a)

c2=det(a)

d1=inv(b)

d2=det(b)

c1=

10.000010.5000-11.5000

2.00002.5000-2.5000

-11.0000-12.000013.0000

c2=

2.0000

d1=

0.1531-0.18370.2245

0.3673-0.0408-0.0612

-0.38780.2653-0.1020

d2=

98.0000

2、解方程组

A=[321;

1-13;

24-4];

b=[76-2];

A\b'

ans=

1.0000

2.0000

2、对一组数据进行分别采用y1(t)=c1+c2exp(-t),y2(t)=d1+d2t.*exp(-t)拟合.

t=[12345678910]'

y=[4.8424.3623.7543.3683.1693.0833.0343.0163.0123.005]'

a=[ones(size(t))exp(-t)];

C=a\y;

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

D=b\y;

T=[10:

-1:

1]'

y1=[ones(size(T))exp(-T)]*C;

y2=[ones(size(T))T.*exp(-T)]*D;

plot(T,y1,'

T,y2,'

t,y,'

o'

\ity1(t)=c1+c2exp(-t)'

\ity2(t)=d1+d2t.*exp(-t)'

曲线拟合'

\itt'

),ylabel('

\ity'

4、矩阵,分别对a进行特征值分解、奇异值分解、LU分解、QR分解。

[v,d]=eig(a,b)

v=

-0.4330-0.2543-0.1744

-0.56570.9660-0.6091

-0.70180.04720.7736

d=

13.548200

04.83030

003.6216

a=[91

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2