77范文网 - 专业文章范例文档资料分享平台

matlab语言习题集(5)

来源:网络收集 时间:2020-03-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

y1?xe?2x,x?[0,5] y2?5cos(3?x),x?[?2,2] (2) 绘饼图(6分)

某班有50名学生,进行英语考试,考试成绩为:优秀8人,良好14人,中等20人,及格5人,不及格3人。试绘该班英语考试成绩分布的三维饼图,将优秀块及不及格块分离。

(3) 绘条形图(4分)

某厂生产三种产品,某年四季度的产量如下 A产品产量 B产品产量 C产品产量 8 8 9 笫一季度 11 7 8 笫二季度 12 6 9 笫三季度 10 6 10 笫四季度 试绘出三种产品产量与季度的三维垂直方向条形图(分组式)。 答:

(1)

x1=0:0.01:5; y1=x*exp(-2*x);

subplot(1,2,1); plot(x1,y1,?r?); x2=-2:0.01:2;

y2=5*cos(3*pi*x2);

subplot(1,2,2); plot(x2,y2,?b?); (2)

x=[8,14,20,5,3];

explode = [1,0,0,0,1]; pie3(x,explode) (3)

x=[8,8,9;11,7,8;12,6,9;10,6,10]; bar3(x,'group')

16.试编写计算程序,画出曲面图形:z??x2?1?e?x?y?x2y,其中:?2?x?2,?2?y?2。

22答:

>>[x,y]=meshgrid(-2:0.1:2);

>>z=(x.^2+1).* exp(-x.^2- y.^2)+x.^2.*y; >>mesh(x,y,z)

17.编写程序解决下列问题:

(1)试产生100?4阶矩阵使其元素在0—100之间的随机整数,可将此矩阵理解为100名同学的四门课程(课程1, 课程2, 课程3, 课程4)的成绩。

(2)计算出每门课程和每位同学的平均成绩。 (3)统计出总的优秀人次(90分及以上为优秀)。

(4)统计出四门课程成绩至少有两门课程不及格的人数。 答:

(1)a=fix(100*rand(100,4)); (2)mean(a); mean(a,2); (3)sum(sum(a>=90,2)==4); (4)sum(sum(a<60,2)>=2); 18.设f?x???k?1n??1?kk?1sinkx

(1)试编写函数式文件程序,返回该函数并保存;(程序的第一句为:function y=fun1(x,n))

(2)用子图画出该函数在?0,2??内图形(分别取n?20,50)。 答:

(1)

function y=fun1(x,n)

y=0; for k=1:n

y=y+ ((-1)^(k+1)*sin(k*x))/k; end y (2)

x=0:0.1:2*pi; y1= fun1 (x,20); y2= fun1 (x,50);

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

19.用dsolve函数求解微分方程x?4??x?2et,x?0??x'?0??x''?0??x'''?0??1的解。 答:

>>dsolve('D4x+x=2*exp(t)','x(0)=1','Dx(0)=1','D2x(0)=1','D3x(0)=1') 20.计算极限limx?0cosx?cosx x?esinx?x?答:

>>syms x ;

>>limit((cos(x)-cos(x)^(1/2))/x/(exp(sin(x))-1)) 21.生成元素值在0~1范围的100×200随机矩阵A,要求统计出元素值在大于0.6且小于0.7的元素个数,并修改这些元素的值为0,试编写程序。 答:

a=rand(100,200);s=0; for i=1:100 for j=1:200

if a(i,j)>0.6 & a(i,j)<0.7

s=s+1;

a(i,j)=0;

end end end s

22.编写程序:计算 1+2+…+n<2000 时的最大 n 值,要求用 for 循环结构编写函数文件。 答:

sum=0; for i=1:500 sum=sum+i; if sum>=2000 break; end end i=i-1

23.试编写自定义函数result=mymax(a,b)实现比较a,b大小功能,最大值赋值给result,要求写出完整的函数体。 答:

function mymax(a,b)

a=input('请输入a的值:'); b=input('请输入b的值:');

if a>=b result=a; else

result=b; end result

24.产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!

答:

>>a=10*rand(1,10)-5; >>b=sort(a,'descend')

25.设 y=cos[0.5+((3sinx)/(1+x^2))],把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线。 答:

>>x=linspace(0,2*pi,101);

>>y=cos(0.5+3.*sin(x)./(1+x.*x)); >>plot(x,y)

26.设f(x)=x^5-4x^4+3x^2-2x+6 ,取x=[-2,8]之间函数的值(取100个点),画出曲线;用roots函数求此多项式的根。 答:

>>p=[1 -4 3 -2 6];

>>x=linspace(-2,8,100); >>plot(x,y); >>a=roots(p) 27.有如下函数:

z?sinx2?y2x2?y2 要求在[-10,10;-10,10]范围内画出函数的三维图形。 答:

>>[X,Y]=meshgrid(-10 : 0.5 :10); >>a=sqrt(X.^2+Y.^2) +eps; >>Z=sin(a)./a; >>mesh(X,Y,Z);

28.使用函数struct创建一个结构。此结构名为Student;有三个字段,分别为name、age、grade;有两条记录,分别为?Way?、23、3和?Deni?、21、1。 答:

>>Student=struct('name',{'Way','Deni'},'age',{23,21},'grade',{3,1})

29.写出使以下这段文字成为字符串的MATLAB指令。注意保持这段文字的格式。

?How are you?? ?I?m fine,thank you!? 答:

>>a='''How are you?''';

>>b='''I''m fine,thank you!'''; >>c=strvcat(a,b)

30.已知A=[5,4,7;6,1,8;2,9,3],进行如下操作:

(1)写出求A的最大元素和最小元素及它们的位置的指令。(6分) (2)写出求A的每行元素的和以及全部元素之和的指令。(4分)

(3)写出分别对A的每列元素按升序、每行元素按降序排列的指令,并给出结果。(4分) 答:

(1)>>d1=max(max(A)) (1分)

>>e1=find(A==d1)或[x1,y1]=find(A==d1) (2分) >>d2=min(min(A)) (1分) >>e2=find(A==d2)或[x2,y2]=find(A==d2) (2分) (2)>>s1=sum(A,2) (2分)

>>s=sum(sum(A)) (2分) (3)>>f1=sort(A) (2分)

>>f2=sort(f1,2,'descend') (2分)

f2 =

3 2 1 7 5 4

9 8 6

31.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分~100分为A,80分~89分为B,70分~79为C,60分~69分为D,60分以下为E。 要求:1)用switch语句实现

2)对不合理的成绩应输出出错信息“输入的成绩不合理”(若成绩出现小数,则只能是“.5”) 答:

clear,clc

x=input('请输入一个百分制成绩:'); switch x

case num2cell(90:0.5:100) str=['成绩等级为:','A']; case num2cell(80:0.5:89.5) str=['成绩等级为:','B']; case num2cell(70:0.5:79.5) str=['成绩等级为:','C']; case num2cell(60:0.5:69.5) str=['成绩等级为:','D']; case num2cell(0:0.5:59.5) str=['成绩等级为:','E'];

otherwise str='错误:输入的成绩不合理'; end disp(str)

32.已知多项式a?x??x3?2x2?1和b?x??x2?1,编写脚本程序计算:1)多项式a(x)+b(x);2)多项式a(x)*b(x);3)多项式a(x)的根。 答:

>>pa=[1 2 0 1];pb=[0 1 0 1];p1=pa+pb >>pa=[1 2 0 1];pb=[1 0 1];p2=conv(pa,pb) >>pa=[1 2 0 1];roots(pa)

33.一个整数除以3只有3种情况,要么整除,要么余1,要么余2。若整除,输出显示“此整数是3的倍数”;若余1,输出显示“此整数除以3余1”;若余2,输出显示“此整数除以3余2”。请用switch条件语句写一个函数实现此功能。 答:

a=input('请输入一个整数'); b=mod(a,3); switch(b) case 0

disp('此整数是3的倍数'); case 1

disp('此整数除以3余1'); case 2

disp('此整数除以3余2'); end

34.在图形绘制语句中,若函数值为不定式NaN ,则相应的部分不绘制出来,试利用该规律绘制z?sin(xy)的表面图,并剪切下x2?y2?0.52的部分。 答:

给出下面命令可以得出矩形区域的函数值,再找出x2 + y2 <=0.5^2 区域的坐标,将其函数值设置成NaN,最终得出所示的曲面。

>>[x,y]=meshgrid(-1:.1:1); z=sin(x.*y);

>>ii=find(x.^2+y.^2<=0.5^2); z(ii)=NaN; surf(x,y,z) 35.编写程序求出如下极限

f1?lim1?cos(x2?y2)x2y?xy3f?lim, 222x2?y2x??1(x?y)3x?0(x?y)ey?0y?2答:

>> syms x y;

>> f1=(x^2*y+x*y^3)/(x+y)^3; limit(limit(f1,x,-1),y,2)

>> f2=(1-cos(x^2+y^2))*exp(x^2+y^2)/(x^2+y^2);limit(limit(f2,x,0),y,0) 36.试编写程序求出下面函数的导数dydx

atany?ln(x2?y2) x答:

>> syms x,y;

>> f=atan(y/x)-log(x^2+y^2); >> dydx=simple(diff(f,y)/diff(f,x))

t37.假设f?x??e?5xsin?3x??3?,试编写程序求出积分函数R(t)??0f(x)f(t?x)dx。 答:

>> syms x t;

>> f=exp(-5*x)*sin(3*x+sym(pi)/3); >> R=int(f*subs(f,x,t+x),x,0,t); >> simple(R)

38.试编写程序对下面函数进行Fourier幂级数展开

f(x)?(??x)sinx,???x??

答:

>> syms x;;

>> f=(sym(pi)-abs(x))*sin(x); >> [A,B,F]=fseries(f,x,10,-pi,pi); >> F

38.试编程求出下面函数的Taylor前4项幂级数展开

(1)对e?5xsin(3x??3)关于x?a的幂级数展开

(2)对f(x,y)?1?cos(x2?y2)(x2?y2)ex2?y2关于x?1,y?0进行二维Taylor幂级数展开

答:

>> syms x a; f=exp(-5*x)*sin(3*x+sym(pi)/3);taylor(f,x,4,a) >> syms x y; f=(1-cos(x^2+y^2))/((x^2+y^2)*exp(x^2+y^2)); >> F=maple('mtaylor',f,'[x=1,y]',4) 39.编写程序求级数(?)?(121311?)?2232?(11?n)?n23的前n项的和。

答:

>> syms n k;

>> symsum(1/2^k+1/3^k,k,1,n)

40.试用符号元素工具箱支持的方式表达多项式f(x)?x5?3x4?4x3?2x2?3x?6,并令x?将f(x) 替换成s 的函数。 答:

>> syms s x;

>> f=x^5+3*x^4+4*x^3+2*x^2+3*x+6; >> F=subs(f,x,(s-1)/(s+1))

41.用逻辑关系语句实现下面的分段函数

x?D?h,?h?y?f(x)??x, x?D

?D?? x??D?h,s?1,s?1答:

>> y=h*(x>D) + h/D*x*(abs(x)<=D) -h*(x<-D)

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库matlab语言习题集(5)在线全文阅读。

matlab语言习题集(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/874749.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: