matlab编程题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab编程题整理
————————————————————————————————作者:————————————————————————————————日期:
作业一
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');
作业三
1: 编写M函数
32
2
2 6.3
0.05 3.14
x x x
f
x x
-+-
=
+-, 计算
)3(
)2(
)1(2f
f
f+
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,2
3,28
()
45,820
cos sin,20
x x
x x
f x
x x
x x x
+<
⎧
⎪≤≤
⎪
=⎨
-<≤
⎪
⎪+>
⎩,