《matlab经典编程例题》由会员分享,可在线阅读,更多相关《matlab经典编程例题(4页珍藏版)》请在人人文库网上搜索。
1、mat lab经典编程例题以下各题均要求编程实现,并将程序贴在题U下方。1(从键盘输入任意个正 整数,以o结束,输出那些正整数中的素数。clc;clear;zzs(l)二input (请输入正整数:*) ;k=l; n=0;%素数个数while zzs(k)、=Oflag=O;%是否是素数,是则为1for yz=2:sqrt(zzs(k)%因子从2至此数平方根if mod(zzs (k), yz)=0flag=l ;break;%非素数跳出循环endendif flag=O&zzs(k)l%忽略 0 和 1 的素数n二n+1;sus(n)=zzs(k);endk=k+l;zzs(k)二inpu。
2、t (请输入正整数:);enddisp(你共输入了 num2str(k-l)个正整数。它们是:)disp(zzs(1 :k-1)%不显示最后一个数0if n=0disp(这些数中没有素数)无素数时显示elsedispf其中的素数是:)disp(sus)end2(若某数等于其所有因子(不含这个数本身)的和,则称其为完全数。编程求10000以内所有的完全数。clc;clear;wq二;%完全数赋空数组for ii=2:10000yz=;%ii的因子赋空数组for jj=2:ii/2 %从2到ii/2考察是否为ii的因子if mod(ii, jj)=Oyz=yz jj ;%因子数组扩展,加上j je。
3、ndendif ii=sum(yz)+lwq=wq ii;%完全数数组扩展,加上iiendenddisp( 10000 以内的完全数为:num2str(wq)%输出3(下列这组数据是美国1900-2000年人口的近似值(单位:口万)。时间t1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000 人口 y 76 92 106 123 132 151 179 203 227 250 2812(1)若试编写程序计算出上式中的d、b、c; y与t的经验公式为y, at, bt,bt(2)若试编写程序计算出上式中的a、b; y与t的经验公式为y, a。
4、e.2(3)在一个坐标系下,画出数表中的散点图(红色五角星),中y, ax, bx, c bt拟合曲线图(蓝色实心线),以及(黑色点划线)。y, ae.(4) 图形标注要求:无网格线,横标注“时间t”,纵标注“人口数(白万)”, 图形标题“美国1900-2000年的人口数据”。(5) 程序中要有注释,将你的程序和作好的图粘贴到这里。clf;clc;clear % 清除图形窗、屏幕、丄作空间t二1900:10:2000;y二76 92 106 123 132 151 179 203 227 250 281;pl二polyfit (t, y, 2) ;%二次多项式拟合yl=polyval (pl,。
5、 t) ;%求拟合多项式函数值.,1, %显示拟合多项式及其系 数 a, b, cdisp (char (y二poly2str (pl,t) , a二num2str (pl (1) b二 num2str(pl(2)c二num2str (pl (3);.,2, yy=log(y) ;%J8数拟合必需的线性化变形 p2=polyfit(t, yy, 1);%拟合b=p2(l);a=exp(p2(2);%求出指数拟合中的 a, by2=a*exp(b*t) ;%指数拟合函数式plot (t, y, rp, t, yl, t, y2, k-. ) ;%三类数据作图,3, %图形窗的进一步 设定grid。
6、 off;xlabel(,时间 t);ylabel(人口数(百万);.,4,美国19002000年的人口数据);美国19002000年的人口数据250200150人口数(百万)1005019001910192019301940195019601970198019902000时间t4(附加题某正整数的三次方是四位数,四次方是六位数,四位数和六位数的各位数字正 好是0为这十个数字,求此正整数。clc;clear;for ii=10:40%10的三次方是最小四位数,40的四次方超过六位i3=num2str (ii3) ; i4=num2str (ii 4) 三四次方均转为字符if length(i3)4 & length(i4)6%长度判断i_34=sort (i3 i4) ;%两数合并后升序排列if isequal(i_34, char (48:57)%是否为 0 至 9 字符串disp(这个数是num2str(ii)disp(它的三次方是i3,四次方是i4)endend300。
967

被折叠的 条评论
为什么被折叠?



