77范文网 - 专业文章范例文档资料分享平台

matlab编程题整理

来源:网络收集 时间:2020-06-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

作业一

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编程题整理在线全文阅读。

matlab编程题整理.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1084985.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: