ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:79.86KB ,
资源ID:12400204      下载积分:6 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-12400204.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB课后习题.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

MATLAB课后习题.docx

1、MATLAB课后习题MATLAB课后习题5、利用rand函数产生(0,1)间的均匀分布的10*10随机矩阵A,然后统计A中大于等于0.6的元素的个数。解:A=rand(10);B=A = 0.6;C=sum(B);count=sum(C)运行结果(每次运行结果是不同的,仅作参考):count=326、利用randn函数产生均值为0,方差为1的10*10随机矩阵A,然后统计A中大于-0.5且小于0.5的元素的个数。解:A=randn(10);B=(A-0.5);C=sum(sum(B)运行结果(每次运行结果是不同的,仅作参考):C=481、 解:if and(a1,b=0.5)语句1;elsei

2、f and(a0.5)语句2;elseif and(a=1,b=0.5)语句3;else语句4;2、 有一矩阵A,找出矩阵中值等于1的元素,并将它们重新排列成列向量B。解:A=2*rand(4);k=find(A100);A(i,:)= %删去存在奇异值的行4、 在给定的100*100矩阵中,删去整行为0的行,删去整列为0的列。解:A=diag(1 2 3 4,1)B=any(A)i,j=find(B=0)A(:,i)= %删除全为0的列B=any(A)i,j=find(B=0)A(j,:)= %删除全为0的行运行结果:初始值:A = 0 1 0 0 0 0 0 2 0 0 0 0 0 3 0

3、 0 0 0 0 4 0 0 0 0 0操作后:A = 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 41、将窗口分割成四格,分别绘制正弦、余弦、正切和余切函数曲线,并加上适当的标注。程序为:x=0:pi/50:2*pi;k=1 26 51 76 101;x(k)=;%删除正切和余切的奇异点figure(1)subplot(2,2,1)plot(x,sin(x),k-),grid onlegend(ity=sin(x)title(y=sin(x)xlabel(x), ylabel(y) subplot(2,2,2)plot(x,cos(x),r-),grid onlegend(i

4、ty=cos(x)title(y=con(x)title(简单柱体)绘制球的程序为:figure(1)subplot(2,1,1)sphereaxis equaltitle(半径为1的球) subplot(2,1,2)x,y,z=sphere;x=2*x;y=2*y;z=2*z;surf(x,y,z),axis squaretitle(半径为2的球)运行后的图形: 5、绘制三维条形图:程序为:Y=cool(7);figure(1)subplot(2,2,1),bar3(Y,detached),title(Detached)subplot(2,2,2),bar3(Y,0.25,detached)

5、,title(Width=0.25)subplot(2,2,3),bar3(Y,grouped),title(Grouped)subplot(2,2,4),bar3(Y,stacked),title(Stacked)运行后的图形为: 6、绘制二维条形图程序为:Y=round(rand(5,3)*10);figure(1)subplot(2,2,1),bar(Y,group),title(Group)subplot(2,2,2),bar(Y,stack),title(Stack)subplot(2,2,3),barh(Y,stack),title(Stack)subplot(2,2,4),bar

6、(Y,1.5),title(Width=1.5)运行后的图形: 1、编写M函数实现:求一个数是否为素数,在编写一主程序,要求通过键盘输入一个整数,然后完成判断其是否为素数。解:function prime(x)n=fix(sqrt(x);for i=2:n if rem(x,i)=0 a=fasle return else a=true end end运行结果: x=56; prime(x)a =fasle2、编写程序完成从表示字符的响亮中删去空格,并求出字符个数。解:function nstr,n=del(str)nstr=;k=find(str= );nstr=str(k);n=lengt

7、h(nstr);end运行后为: str=dr hy fgh gtesd hgfds; nstr,n=del(str)nstr =drhyfghgtesdhgfdsn = 173、编写M函数统计十进制数值中0的个数,然后编写脚本文件,实现统计所有自然数12006中0的个数。解:M函数为:function y=geshu(x)s=num2str(x);n=length(s);m=0; if s(1)=0 disp(x is error); return end for i=2:n if s(i)=0 m=m+1; end end y=m;脚本文件为 jiu4:sum=0;for x=1:2006

8、 y=geshu(x); sum=sum+y;enddisp(sum)运行结果为: jiu4 5044、利用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=;switch s case 1,n=20*rand(3)-10 case 2,n=10*rand(3)-5 case 3,n=2*rand(3)-1 case 4,n=randn(3)

9、otherwise disp(error)end运行后: 按下2后:n = 4.2274 0.4366 3.3897 3.0037 4.8478 -0.6674 -2.1405 2.1568 -0.29385、求阵列x的平均值和标准差解:function mean1,stdev=stat2(x)m,n=size(x);if m=1m=n;ends1=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.5207 2.3922 2.6498

10、2.2539stdev = 0.1713 0.1892 0.1725 0.20276、测试程序执行时间% tech1.mtici=0;for t=0:.01:100 i=i+1; y(i)=sin(t);endtoc % tech2.mtict=0:.01:100;y=sin(t);Toc运行后:Elapsed time is 0.015217 seconds.Elapsed time is 0.000508 seconds.1、产生menu选择输出颜色解:s=menu(color selection,red,green,blue,yellow,black)switch s case 1,sc

11、olor=red; case 2,scolor=green; case 3,scolor=blue; case 4,scolor=yellow; case 5,scolor=black; otherwise disp(error)end Scolor2、企业发放的奖金按个人完成的利润(I)提成。分段提成比例 wei 即如王某完成25万元利润时,个人可得y=10 x 10% + 10 x 5% + 5 x 2% (万元)据此编写程序,求企业职工的奖金。解function bonus=bon(I)n=fix(I/100000)if(n4) n=4;endbon1=100000*0.1;bon2=0

12、.05*(200000-100000);bon3=0.02*(400000-200000);switch n case 0,bonus=I*100000; case 1 bonus=bon1+0.05*(I-100000); case 2,3 bonus=bon1+bon2+0.02*(I-200000); case 4,bonus=bon1+bon2+bon3+0.01*(I-400000);end运行后: I=1700000; bonus=bon(I)n = 17bonus = 320003、有一分数序列2/1,3/2,5/3/,8/5求前15项和。解:s=1;t=2;sum=0;x=t/

13、s;sum=sum+x;for i=1:15z=t;t=s+t;s=z;x=t/s;sum=sum+x;endsum运行后: qiuhesum = 26.18814、约瑟夫环解:n=input(please input n:);m=input(please input m:);b=1:n;i=1;c=0;s=0;while s yueseplease input n:12please input m:3a = Columns 1 through 8 3 6 9 12 4 8 1 7 Columns 9 through 16 2 11 5 10 3 16 5 20 Columns 17 thro

14、ugh 23 11 9 2 10 19 15 15、编写程序计算x在(-3,3)上,并画出曲线。解:function y=func2(x)n=length(x);for i=1:n; if (x(i)=-3)&(x(i)=-1)&(x(i)=1)&(x(i) v,d=eig(a,b)v = -0.4330 -0.2543 -0.1744 -0.5657 0.9660 -0.6091 -0.7018 0.0472 0.7736d = 13.5482 0 0 0 4.8303 0 0 0 3.6216 a=9 1 2;5 6 3;8 2 7; u,s,v=svd(a)u = -0.5601 0.5

15、320 -0.6350 -0.4762 -0.8340 -0.2788 -0.6779 0.1462 0.7204s = 15.5234 0 0 0 4.5648 0 0 0 3.3446v = -0.8275 0.3917 -0.4023 -0.3075 -0.9156 -0.2592 -0.4699 -0.0907 0.8781 l,u=lu(a)l = 1.0000 0 0 0.5556 1.0000 0 0.8889 0.2041 1.0000u = 9.0000 1.0000 2.0000 0 5.4444 1.8889 0 0 4.8367 q,r=qr(a)q = -0.6903

16、 0.3969 -0.6050 -0.3835 -0.9097 -0.1592 -0.6136 0.1221 0.7801r = -13.0384 -4.2183 -6.8260 0 -4.8172 -1.0807 0 0 3.77335、求解微分方程 。解:function dy=funf(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);脚本文件:x0=1,-4,5;tspan=30,100;t,x=ode45(funf,tspan,x0);plot3(x(:,1),x(:,2),x(:,3),grid

17、ontitle(微分方程曲线)运行后: 微分方程组x=10(-x+y);y=28x-y-xz;z=xy-8z/3,x0=12,2,9,求微分方程在0,30上的解,并画出系统轨迹。解: 脚本文件: 二维图:三维图:2、分别用多项式和指数函数进行拟合。y1(t)=c1+c2t+c3t2,y2(t)=d1+d2exp(t)解: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;B1=ones(size(t) t t.*t;B2=ones(size(t) exp(t);A=B1y;C=B2y;T=0:.1:

18、6;Y1=ones(size(T) T T.*T*A;Y2=ones(size(T) exp(T)*C;plot(T,Y1,-,T,Y2,-,t,y,o)legend(itY1,itY2)3、 将(x-6)(x-3)(x-8)展开为系数多项式的形式。解: a=6 3 8; pa=poly(a); ppa=poly2sym(pa) ppa = x3-17*x2+90*x-1444、 求解多项式x3-7x2+2x+40的根。解: r=1 -7 2 40; p=roots(r); -0.2151 0.4459 0.7949 0.27075、 求解在x=8时多项式(x-1)(x-2) (x-3)(x-

19、4)的值。解: p=poly(1 2 3 4); polyvalm(p,8) ans = 8406、 计算多项式乘法(x2+2x+2)(x2+5x+4)。解: c=conv(1 2 2,1 5 4) c = 1 7 16 18 87、 计算多项式除法(3x3+13x2+6x+8)/(x+4)。解: d=deconv(3 13 6 8,1 4) d = 3 1 29、微分方程组 当t=0, =1; =-0.5,求微分方程组t【0,25】上的解,并画出x1-x2的系统轨迹。解:function dy=fund(t,y)dy=0.5-y(1);y(1)-4*y(2);脚本文件:x0=1,-0.5;t

20、span=0,20;T,Y=ode23(fund,tspan,x0);figure(1)plot(T,Y(:,1),r-,T,Y(:,2)legend(itx1,itx2)1利用下标建立多维阵列。产生一个332的多维矩阵AA=5 7 2; 0 1 2; 3 4 2; %产生一个3*3矩阵A(:, :, 2)=2 7 3; 4 2 8; 2 0 3A(:,:,1) = 5 7 2 0 1 2 3 4 2A(:,:,2) = 2 7 3 4 2 8 2 0 32利用MATLAB函数产生多维阵列。 利用MATLAB的函数(如rand、randn、ones、zeros等)都可直接产生多维阵列,在函数调

21、用时可指定每一维的尺寸。例如,为产生10032维的正态分布随机数R,可输入R=randn(100, 3, 2);A=5*ones(3, 4, 2); %产生元素相同的多维阵列B=repmat(5, 3 4 2); %产生元素相同的多维阵列3利用cat函数建立多维阵列A=2 8; 0 5; B=1 8; 2 4; C=cat(3,A,B); D=cat(4,A,B); size(C)ans = 2 2 2 size(D)ans = 2 2 1 2这说明得到的C为222维,而D为2212维。1、冒泡法排序function y=bubblesort(x) %冒泡法排序. n=length(x); f

22、or i=1:n-1 for j=i+1:n if x(i)x(j) temp=x(i); x(i)=x(j); x(j)=temp; end end end y=x;运行结果: x=12 34 654 2 5 76 23; y=bubblesort(x)y = 2 5 12 23 34 76 654以上为按照升序排列的,若要降序,则 if x(i) x=12 21 2 4 5 19 45 30; y=bubblesort(x)y =45 30 21 19 12 5 4 22、傅里叶变换应用付立叶变换并求频谱图clc; clf; clear all;fs=1000; t=0:1/fs:0.6;

23、 f1=200; f2=300; x=sin(2*pi*f1*t)+sin(2*pi*f2*t); subplot(4,1,1); plot(n, x); title(f1(100Hz)f2(300Hz)的正弦信号,初相0); xlabel(序列(n));grid on; number=512; y=fft(x,number); n=0:length(y)-1; f=fs*n/length(y); subplot(4,1,2); plot(f,abs(y)/max(abs(y); hold on;plot(f,abs(fftshift(y)/max(abs(y),r);title(f1f2的正弦信号的FFT(512点)); xlabel(频率Hz); grid on; x=x+randn(1,length(x); subplot(4,1,3); plot(n, x); t

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

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