实验3MATLAB程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1,编写M 函数实现求一个数是否为素数,再编写一主程序(脚本文件),要求
通过键盘输入一个整数,然后调用判断素数函数,从而确定它是否素数。
x=input('请输入一个整数 x:');
if myprime(x)
disp('您输入的整数x是一个素数。')
else
disp('您输入的数x不是一个素数。')
end
function y=myprime(x)
y=1;
for i=2:fix(sqrt(x))
if mod(x,i)==0
y=0;
end
end
2,编写M 函数统计一数值中零的个数,然后编写脚本文件,实现统计从1—2007
中零的总个数。
function num=number0(a) %统计十进制数值中0的个数
sa=num2str(a);%将数值装化为字符串
num=length(find(sa=='0'));% ));%求取字符串中'0’的个数
y=0;
for a=1:2006
num=number0(a);
y=num+y;
end
disp(y)
504
3,编写程序计算x∈[-3,3],字长0.01:并画出曲线
x = -3:0.01:3;
y=zeros(size(x));
for i = 1:length(x)
if -3<= x(i)& x(i)<=-1
3)/2;
elseif -1<= x(i) &
x(i)<=1
y(i)=-x(i).^2+1;
elseif 1<=x(:,i)<=3
y(i)=(-x(i).^2+4*x(i)-
3)/2;
end
end
plot(x,y)
4 ch= menu('please choose a number','1','2','3','4')
switch ch
case 1
a=10-20*rand(1);
case 2
a=5-10*rand(1);
case 3
a=1-2*rand(1);
case 4
a=randn(1);
end
disp(a)
5编写良好的用户界面程序,完成输入全班学生某学期6门课程(任意指定)的成绩,并按学分数分别为2、3、2、4、2、5,进行加权平均,计算出每个学生的加权平均。
a=input('请依次输入语言,数学,英语,物理,化学,生物成绩;如:[68 72 65 68 35 79]:');
w=[2 3 2 4 2.5 1];
sum=0;w1=0;
for e=1:6
w1=w1+w(e);
end
for j=1:6
sum=sum+a(j).*w(j);
end
y=sum./w1;
disp(y)
6、企业发放的奖金按个人完成的利润提成。分段提成比例K1为:当I≤10万元时K1=10%;当10<I≤20万元时,K1=5%;当20<I≤40万元时,K1=2%;当I>40万元时,I=1%。
function y=lirun(x)
if x<=10
y=x*0.1;
elseif x>10&&x<=20
y=(x-10)*0.05+10*0.1;
elseif x>20&&x<=40
y=(x-20)*0.02+10*0.05+10*0.1;
elseif x>40
y=(x-40)*0.01+10*0.02+10*0.05+10*0.1;
End
X=25;
Y=lirun(x)
9、有一分数序列2/1,3/2,5/3,8/5,13/8,21/13……求前15项的和。
d=0 ;
a(1)=2;
b(1)=1;
a(2)=3;
b(2)=2;
c(1)=a(1)./b(1);
c(2)=a(2)./b(2);
for i=3:15
a(i)=a(i-2)+a(i-1);
b(i)=b(i-2)+b(i-1);
c(i)=a(i)./b(i);
end
for j=1:15
d=d+c(j);
end
disp(d)
24.5701
10、有n个人围成一圈,按列号编号。从第一个人开始报数,数到m时该人退出,并且下一个人从1开始报数,求出出圈人的顺序。
function y=shaixuan(a,b)
n=a;
x=[1:n];
i=0;m=0;j=1;
while(n>0)
i=i+1;m=m+1;
if(m==b)
k(j)=x(i);j=j+1;n=n-1;
for(v=i:n)
x(v)=x(v+1);
end
m=0;i=i-1;
end
if(i==n)
i=0;
end
end
y=k;
y=shaixuan(20,7)
y =
7 14 1 9 17 5 15 4 16 8 20 13 11 10 12 19 6 18 20 3