当前位置:文档之家› matlab编程题整理

matlab编程题整理

作业一1输出x,y两个中值较大的一个值x=input(‘x’);y=input(‘y’);if x>yxelseyend2输入x,计算y的值。

计算函数的值y=x+1,x<0,y=2x-1,x≧0x=input错误!未指定书签。

(‘x);if x<0y=x+1elsey=2*x-1end3输入一学生成绩,评定其等级,方法是:90~100分为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分为“不合格”x=input(‘x’)if x>100|x<0y=’输入错误’elseif x>=90y=’优秀’elseif x>=80y=’良好’elseif x>=70y=’中等’elseif x>=60y=’及格’elsey=’不合格’emd4某超市节日期间举办购物打折的促销活动,优惠办法是:每位顾客当天一次性购物在100元以上者,按九五折优惠;在200元以上者,按九折优惠;在300元以上者,按八五折优惠;在500元以上者,按八折优惠。

x=input(‘x’);if x>=500y=x*0.8elseif x>=300y=x*0.85elseif x>=200y=x*0.9elseif x>=100y=x*0.95else y=xend 5编程计算:s=1+2+3+…+100sum=0;for i=1:100sum=sum+i;endsum引申1!-2!+3!-4!+5!- (99)sum=0;for i=1:99pdr=1;for k=1:ipdr=pdr*k;endsum=sum+pdr*(-1)^(i-1);endsum引申1*2*3*4*……*100sum=1;for i=1:100sum=sum*iendsum6计算1~100的奇数和sum=0;for i=1:2:100sum=sum+i;endsum7百元买百鸡问题。

假定小鸡每只5角,公鸡每只2元,母鸡每只3元。

编程列出所有可能的够鸡方案for x=1:33for y=1:50for z=1:200if x+y+z==100&3*x+2*y+0.5*z==100 [x,y,z]endendendend8我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿n=1;m=13;while m<26m=m*(1+0.008);n=n+1;endn9求水仙花数,水仙花数是指一个n位数(n>=3),他的每个位上的数字的n次幂之和等于它本身。

求出1000以内for i=100:999a(1)=fix(i/100);a(2)=fix((i-a(1)*100)/10);a(3)=i-a(1)*100-a(2)*10;ifa(1)^3+a(2)^3+a(3)^3==iiendend10鸡和兔子关在一个笼子里,已知共有头36个,脚100个,求笼内关了多少只兔子和多少只鸡?for i=1:50for j=1:36ifi+j==36&i*2+j*4==100[i,j]endendend作业二1.用matlab编程求算式xyz+yzz=532中x,y,z的值(其中xyz和yzz分别表示一个三位数)。

clearfor x=1:9for y=1:9for z=1:9i=100*x+10*y+z+100*y+10*z+z;if i==532[x,y,z]endendendend2.用matlab编程完成用一元人民币换成一分、两分、五分的所有兑换方案(即输出所有的组合方式)。

clearfor i=0:20for j=0:50k=100-i*5-j*2;if(k>=0)[I,j,k]endendend3.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天后可以卖完,请用matlab编程计算。

day=0;x1=1020while(x1)x2=x1/2-2;x1=x2;day=day+1;endday4.有一堆零件(100到200之间),如果分成4个零件一组的,则多2个零件;若分成7个零件一组的,则多3个零件;若分成9个零件一组的,则多5个零件。

用matlab 编程求这堆零件总数。

for x=100:200if mod(x,4)==2if mod(x,7)==3if mod(x,9)==5xendendendend5.编写程序,求1000至9999之间的回文数.回文数是指正读与反读都一样的数,如1221.for i=1000:1000:9999for j=0:9n=i+j*100+j*10=i/1000endend6.作函数y=sinx,x∈[0,2∏]的图象,用蓝色五角星表示点。

x=linspace(0,2*pi);y=sin(x);plot(x,y,'bp');作业三1:编写M函数3222 6.30.05 3.14x x xfx x-+-=+-,计算)3()2()1(2fff+function y=fun1(x)y=(x^3-2*x^2+x-6.3)/(x^2+0.05*x-3.14) ;fun1(1)*fun1(2)+fun1(3)*fun1(3)2:编写M函数1,23,28()45,820cos sin,20x xx xf xx xx x x+<⎧⎪≤≤⎪=⎨-<≤⎪⎪+>⎩,计算(0.1)f,(1)f,(9)f,(22)f,(2)fπfunction y=fff(x)if x<2y=x+1;elseif x>=2&x<=8y=3*x;elseif x>8&x<=20y=4*x-5;elsey=cos(x)+sin(x);end3:根据pi*pi/6=1/1^2+1/2^2+1/3^2+……+1/n^2,求pi 的近似值。

当n 分别取100,1000,10000时,结果是多少?y=0;n=100;for i=1:n y=y+1/i/i;end ypi=sqrt(6*y)y=0;n=1000;for i=1:n y=y+1/i/i;end ypi=sqrt(6*y)y=0;n=10000;for i=1:n y=y+1/i/i;end ypi=sqrt(6*y)4:编程:求[100,200]之间第一个能被21整除的整数。

for n=100:200if mod(i,21)==0continue break end end5:编写函数文件求半径为r 的圆的面积和周长。

function [s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;6:根据y=1+1-n 215131+⋯++,求:(1)y<3时的最大n 值。

(2)与(1)的n 值对应的y 值。

y=1;n=1;while(y<3)n=n+2;y=y+1/n;endy=y-1/n n=(n+1)/27:已知⎪⎪⎩⎪⎪⎨⎧>+-=======---3,23,12,01,1321321n n n n fff f f f f n n n n求ff 1001~中:最大值、最小值、各数之和。

f(1)=1f(i)=0f(3)=1for i=4:100f(i)=f(i-1)+2*f(i-2)+f(i-3)end min(f)max(f)sum(f)作业四1.编程计算3+33+333+3333+…..前10项之和。

m=3;n=0;s=0;for i=1:10n=n*10+m;s=s+n;end s2.编程求1-1/2+1/3-1/4+.......+1/99-1/100的值m=0;for i=1:1:100o=(1/i)*(-1)^(i+1);m=m+o;end m3.编写程序,求1-3+5-7+…-99+101的值。

s=0;j=1;for i=1:2:101s=s+(-1)^(j-1)*i;j=j+1;end s4.编写程序,输出从公元1000年至2000年所有闰年的年号。

判断公元年是否为闰年的条件是:公元年数如能被4整除,而不能被100整除,则是闰年;公元年数能被400整除也是闰年。

for year=1000:2000if(mod(year,4)==0&mod(year,100)~=0)|m od(year,400)==0yearendend5.将10个整数输入到一个数组中,然后再将其按输入顺序的逆序进行排列并输出。

for i=1:10a(i)=input('x=');endfor i=10:-1:1a(i)end6.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。

求它在第10次落地时,共经过多少m?第10次反弹多高?sn=100;hn=sn/2;for n=2:10sn=sn+2*hn;hn=hn/2;endsnhn7.猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上再想吃时,见只剩一个桃子了。

求第一天共摘多少桃子。

day=9;x=1;while(day>0)x=(x+1)*2;day=day-1;endx作业五上机题1.给定一个矩阵a=123456编写一个M函数,要求输入是a,输出各元素之和。

function y=f(a)[r,q]=size(a);y=0;for i=1:rfor j=1:qy=y+a(i,j);endend2.A是一个m×n的矩阵.写一M函数,算出A中有多少个零元素。

function y=f(a)[m,n]=size(a);y=0;for i=1:mfor j=1:nif a(i,j)==0y=y+1;endendend3.矩阵乘法运算要求两矩阵的维数相容,否则会出错。

先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。

A=input(‘A’);B=input(‘B’);tryC=A*B;catchC=A.*B;endC4.一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。

输出全部水仙花数。

for i=100:999a(1)=fix(i/100);a(2)=fix((i-a(1)*100)/10);a(3)=i-a(1)*100-a(2)*10;if a(1)^3+a(2)^3+a(3)^3==iiendend5.fibonccci数组的元素满足fibonacci规则:ak+2=ak+ak+1,(k=1,2,…);且a1=a2=1。

现要求求出该数组中第一个大于10000的元素。

相关主题