作业一
1输出x,y两个中值较大的一个值 x=input(‘x’); y=input(‘y’); if x>y x else y end
2输入x,计算y的值。计算函数的值y=x+1,x<0,y=2x-1,x≧0 x=input(‘x); if x<0 y=x+1 else y=2*x-1 end
3输入一学生成绩,评定其等级,方法是:90~100分为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分为“不合格” x=input(‘x’) if x>100 | x<0
y=’输入错误’ elseif x>=90 y=’优秀’ elseif x>=80 y=’良好’ elseif x>=70 y=’中等’ elseif x>=60 y=’及格’ else
y=’不合格’ emd
4某超市节日期间举办购物打折的促销活动,优惠办法是:每位顾客当天一次性购物在100元以上者,按九五折优惠;在200元以上者,按九折优惠;在300元以上者,按八五折优惠;在500元以上者,按八折优惠。 x=input(‘x’); if x>=500 y=x*0.8
elseif x>=300 y=x*0.85
elseif x>=200 y=x*0.9
elseif x>=100 y=x*0.95 else y=x end 5编程计算:s=1+2+3+?+100 sum=0;
for i=1:100 sum=sum+i; end sum
引申 1!-2!+3!-4!+5!-?+99! sum=0; for i=1:99 pdr=1;
for k=1:i pdr=pdr*k; end
sum=sum+pdr*(-1)^(i-1); end sum
引申 1*2*3*4*??*100 sum=1; for i=1:100 sum=sum*i end sum
6计算1~100的奇数和 sum=0;
for i=1:2:100 sum=sum+i; end sum
7百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。编程列出所有可能的够鸡方案 for x=1:33 for y=1:50 for z=1:200
if x+y+z==100 & 3*x+2*y+0.5*z==100 [x,y,z] end end end end
8我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿 n=1;m=13; while m<26
m=m*(1+0.008); n=n+1; end n
9求水仙花数,水仙花数是指一个n位数(n>=3),他的每个位上的数字的n次幂之
和等于它本身。求出1000以内 for i=100:999
a(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==i i end end
10鸡和兔子关在一个笼子里,已知共有头36个,脚100个,求笼内关了多少只兔子和多少只鸡? for i=1:50 for j=1:36 if
i+j==36 & i*2+j*4==100 [i,j] end end end 作业二
1.用matlab编程求算式xyz+yzz=532中x, y, z的值(其中xyz和yzz分别表示一个三位数)。 clear for x=1:9 for y=1:9 for z=1:9
i=100*x+10*y+z+100*y+10*z+z; if i==532
[x,y,z] end end end end
2.用matlab编程完成用一元人民币换成一分、两分、五分的所有兑换方案(即输出所有的组合方式)。 clear
for i=0:20
for j=0:50
k=100-i*5-j*2; if(k>=0) [I,j,k] end end end
3.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天后可以卖完,请用matlab编程计算。
day=0; x1=1020 while (x1) x2=x1/2-2; x1=x2;
day=day+1; end day
4.有一堆零件(100到200之间),如果分成4个零件一组的,则多2个零件;若分成7个零件一组的,则多3个零件;若分成9个零件一组的,则多5个零件。用matlab编程求这堆零件总数。 for x=100:200
if mod(x,4)==2 if mod(x,7)==3 if mod(x,9)==5 x end end end end
5.编写程序,求1000至9999之间的回文数.回文数是指正读与反读都一样的数,如1221.
for i=1000:1000:9999 for j=0:9
n=i+j*100+j*10=i/1000 end end
6.作函数y=sinx,x∈[0,2∏]的图象,用蓝色五角星表示点。 x=linspace(0,2*pi); y=sin(x);
plot(x,y,'bp'); 作业三
x3?2x2?x?6.31: 编写M函数
f?x2?0.05x?3.14, 计算f(1)f(2)?f2(3)
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)
?x?1,x?2?f(x)???3x,2?x?8?4x?5,8?x?202:编写M函数
??cosx?sinx,x?20,计算f(0.1),f(1),f(9),f(22),f(2?)
function y=fff(x) if x<2 y=x+1;
elseif x>=2 & x<=8 y=3*x;
elseif x>8 & x<=20 y=4*x-5; else
y=cos(x)+sin(x); end
3:根据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 y
pi=sqrt(6*y) y=0;n=1000; for i=1:n y=y+1/i/i; end y
pi=sqrt(6*y) y=0;n=10000; for i=1:n y=y+1/i/i; end y
pi=sqrt(6*y) 4:编程:求[100,200]之间第一个能被21整除的整数。 for n=100:200 if mod(i,21)==0 continue break end end
5:编写函数文件求半径为r的圆的面积和周长。
function [s,p]=fcircle(r) s=pi*r*r; p=2*pi*r; 6:根据y=1+13?15???12n-1,求: (1)y<3时的最大n值。
(2)与(1)的n值对应的y值。 y=1;n=1; while(y<3) n=n+2; y=y+1/n;
end
y=y-1/n n=(n+1)/2
??f1?1,n?1??f2?0,n?2?f3?1,n?37: 已知??fn?fn?1?2fn?2?fn?3,n?3求
f1~f100中:
最大值、最小值、各数之和。 f(1)=1 f(i)=0 f(3)=1
for i=4:100
f(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:10 n=n*10+m; s=s+n; end s 2.编程求1-1/2+1/3-1/4+.......+1/99-1/100的值 m=0;
for i=1:1:100
o=(1/i)*(-1)^(i+1); m=m+o; end m
3. 编写程序,求1-3+5-7+?-99+101的值。s=0; j=1;
for i=1:2:101
s=s+(-1)^(j-1)*i; j=j+1; end s
4. 编写程序,输出从公元1000年至2000年所有闰年的年号。判断公元年是否为闰年的条件是:
公元年数如能被4整除,而不能被100整除,
则是闰年;
公元年数能被400整除也是闰年。 for year=1000:2000
if(mod(year,4)==0&mod(year,100)~=0)|mod(year,400)==0 year end end
5. 将10个整数输入到一个数组中,然后再将其按输入顺序的逆序进行排列并输出。 for i=1:10
a(i)=input('x='); end
for i=10:-1:1 a(i) end
6. 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少m?第10次反弹多高?
sn=100;hn=sn/2; for n=2:10
sn=sn+2*hn; hn=hn/2; end sn hn
7. 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上再想吃时,见只剩一个桃子了。求第一天共摘多少桃子。 day=9;x=1; while(day>0) x=(x+1)*2; day=day-1; end x
作业五 上机题
1.给定一个矩阵
a = 1 2 3 4 5 6
编写一个M函数,要求输入是a,输出各元素之和。
function y=f(a) [r,q]=size(a); y=0;
for i=1:r for j=1:q
y=y+a(i,j); end end 2. A 是一个m×n的矩阵. 写一M函数, 算出A中有多少个零元素。 function y=f(a) [m,n]=size(a); y=0;
for i=1:m for j=1:n
if a(i,j)==0 y=y+1; end end end
3. 矩阵乘法运算要求两矩阵的维数相容,?d2x否则会出错。先求两矩阵的乘积,若出错,2?2dy?x?0,1.??xt?0?1,?dtdt?dx则自动转去求两矩阵的点乘。 ??dt?y?0,yt?0?0;??t3A=input(‘A’);B= input(‘?2dxd?4x?dy?y?e,xt?0?2.B’?tdt2,?d); x?3x?y?try ??dt0,yt?0?0.C=A*B; catch C=A.*B; end C
4. 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。
for i=100:999
a(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==i i end end
5.fibonccci数组的元素满足fibonacci规则:ak+2=ak+ak+1,(k=1,2,?);且a1=a2=1。现要求求出该数组中第一个大于10000的元素。
a(1)=1;a(2)=1;i=1; while a(i)<=10000 a(i+2)=a(i)+a(i+1); i=i+1; end
a(i)
6.计算1!+2!+3!+4!+5!+6!+?+n!值的程序。(n可以自由输入) Sum=0
N=input(’n’) For i=1 to n Sum1=1
For j=1 to i Sum1=sum1*i End
Sum=sum+sum1 end 作业六
1.求解一阶微分方程 (1)y'?ay?b
y=dsolve('Dy=a*y+b','x')
(2)f'?f?g,g'?g?f,f'(0)?1,g'(0)?1
[f,g]=dsolve('Df=f+g,Dg=g-f','Df(0)=1,Dg(0)=1','x') (3) 求解微分方程y'??y?t?1,y(0)?1,
y=dsolve('Dy=-y+t+1','y(0)=1')
dy?(4) 求方程dx2xy的通解.
y=dsolve('Dy=2*x*y')
(5) 求
方
程
(ex?y?ex)dx?(ex?y?ey)dy?0的通
解.
y=dsolve('Dy=-(exp(x+y)-exp(x))/exp(x+y)+exp(y)','x')
(6)求方程 (x?y)y??(x?y)?0 的通解
y=dsolve('Dy=-(x-y)/(x+y)')
2.求解二阶常微分方程
(1)y''?sin(2x)?y,y(0)?0,y'(0)?1 y=dsolve('D2y=sin(2*x)-y','y(0)=0,Dy(0)=1','x')
(2)计算微分方程
y???2y??ex?0 通解。 y=dsolve('D2y=-2*Dy-exp(x)','x')
y=dsolve('D2y=-a*Dy+b*y','x')
(4)
y=dsolve('D2y=2*Dy-y','x')
3.求解微分方程组的解
??dy??3y?2z,(1) ?dx?dz?2y?z.(2)3.解微分方程组??dx 2 ??dxt?2?dy ?dtdt?x?e?d2y2?dx?y?4.解微分方程组??dt dt0. 1.
[x,y]=dsolve('D2y=-Dy+x,Dx=-y','x(0)=1,y(0)=0','t') 2.
[x,y]=dsolve('Dy=-2*Dx+4*x+y+exp(t),Dx=-y-3*x','x(0)=3/2,y(0)=0','t') 3.
[x,y]=dsolve('Dy=3*y-2*z,Dz=2*y-z','x') 4.
[x,y]=dsolve('D2x=-Dy+x+exp(t),D2y=-Dx-y','t')
作业七
一.不定积分
1 ?3xexdx
int('3^x*exp(x)','x')
cos2x2 ?cos2xsin2xdx
int('cos(2*x)/(cos(x)^2)*(sin(x)^2)','x')
3 ?(1?1x2)xxdx
int('(1-1/x^2)*sqrt(x*sqrt(x))','x')
4
int('x^2*exp(x)','x') 二.定积分 1 ?2?x2exdx=________
int('sqrt(2*x-x^2)','x',0,2)
02x?x2dx2. 比较
?12ex12d2 , ,
xint('exp(x)','x',2,1) ,?int('exp(x^2)','x',2,1)
12exdx?(1?x)dx. int('(1+x)'
,'x',2,1)
x3. 若 ,求出f(x)
int('exp(-t^2)',t,x,x^2)
??dx?24. 计算0x?4x?3.
f(x)??e?tdtx22int('1/(x^2+4*x+3)','x',0,inf)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库matlab编程题整理在线全文阅读。
相关推荐: