第3课 实验3 MATLAB程序设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1, 编写M 函数实现求一个数是否为素数,再编写一主程序(脚本文件),要求通过键盘输入一个整数,然后调用判断素数函数,从而确定它是否素数。 x=input(请输入一个整数 x:); if myprime(x) disp(您输入的整数x是一个素数。) else disp(您输入的数x不是一个素数。) end function y=myprime(x) y=1; for i=2:fix(sqrt(x)) if mod(x,i)==0 y=0; end end 2, 编写M 函数统计一数值中零的个数,然后编写脚本文件,实现统计从1—2007 中零的总个数。 function num=number0(a) %统计十进制数值中0的个数 sa=num2str(a);%将数值装化为字符串 num=length(find(sa==0));% ));%求取字符串中0’的个数 y=0; for a=1:2006 num=number0(a); y=num+y; end disp(y) 504 3, 编写程序计算x∈[-3,3],字长0.01:并画出曲线 x = -3:0.01:3; y=zeros(size(x)); for i = 1:length(x) if -3= x(i) x(i)=-1 y(i)=(-x(i).^2-4*x(i)-3)/2; elseif -1= x(i) x(i)=1 y(i)=-x(i).^2+1; elseif 1=x(:,i)=3 y(i)=(-x(i).^2+4*x(i)-3)/2; end end plot(x,y) 4 ch= menu(please choose a number,1,2,3,4) switch ch case 1 a=10-20*rand(1); case 2 a=5-10*rand(1); case 3 a=1-2*rand(1); case 4 a=randn(1); end disp(a) 5编写良好的用户界面程序,完成输入全班学生某学期6门课程(任意指定)的成绩,并按学分数分别为2、3、2、4、2、5,进行加权平均,计算出每个学生的加权平均。 a=input(请依次输入语言,数学,英语,物理,化学,生物成绩;如:[68 72 65 68 35 79]:); w=[2 3 2 4 2.5 1]; sum=0;w1=0; for e=1:6 w1=w1+w(e); end for j=1:6 sum=sum+a(j).*w(j); end y=sum./w1; disp(y) 6、企业发放的奖金按个人完成的利润提成。分段提成比例K1为:当I≤10万元时K1=10%;当10<I≤20万元时,K1=5%;当20<I≤40万元时,K1=2%;当I40万元时,I=1%。 function y=lirun(x) if x=10 y=x*0.1; elseif x10x=20 y=(x-10)*0.05+10*0.1; elseif x20x=40 y=(x-20)*0.02+10*0.05+10*0.1; elseif x40 y=(x-40)*0.01+10*0.02+10*0.05+10*0.1; End X=25; Y=lirun(x) 9、有一分数序列2/1,3/2,5/3,8/5,13/8,21/13??求前15项的和。 d=0?; a(1)=2; b(1)=1; a(2)=3; b(2)=2; c(1)=a(1)./b(1); c(2)=a(2)./b(2); for i=3:15 a(i)=a(i-2)+a(i-1); b(i)=b(i-2)+b(i-1); c(i)=a(i)./b(i); end for j=1:15 d=d+c(j); end disp(d) 24.5701 10、有n个人围成一圈,按列号编号。从第一个人开始报数,数到m时该人退出,并且下一个人从1开始报数,求出出圈人的顺序。 function y=shaixuan(a,b) n=a; x=[1:n]; i=0;m=0;j=1; while(n0) i=i+1;m=m+1; if(m==b) k(j)=x(i);j=j+1;n=n-1; for(v=i:n) x(v)=x(v+1); end m=0;i=i-1; end if(i==n) i=0; end end y=k; y=shaixuan(20,7) y = 7 14 1 9 17 5

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档