概述
求分段函数的值 请建立函数式文件,用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的值。 |
程序代码及运行结果: 代码: x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]; for i=1:length(x) if x(i)<0&x(i)~=-3 y(i)=x(i)^2+x(i)-6; elseif x(i)>=0&x(i)<5&x(i)~=2&x(i)~=3 y(i)=x(i)^2-5*x(i)+6; else y(i)=x(i)^2-x(i)-1; end end y 结果: y =14.0000 11.0000 2.0000 1.0000 -0.2500 5.0000 19.0000 |
3、硅谷公司员工的工资计算方法如下: (1) 工作时数超过120小时者,超过部分加发15%。 (2) 工作时数低于60小时者,扣发700元。 (3) 其余按每小时84元计发。 试用switch语句编程按输入员工的工时数(分别为54,100,140小时),计算应发工资。 |
程序代码及运行结果: 代码: time=[54,100,140]; for i=1:3 switch time(i) case (time(i)>120) gongzi(i)=120*84+(120-time(i))*84*0.15; case (time(i)<60) gongzi(i)=time(i)*84-700; otherwise gongzi(i)=time(i)*84; end end gongzi 结果: gongzi =4536 8400 11760 |
4、根据,求π的近似值。当n分别取100、1000、10000时,结果是多少?要求:分别用for循环结构来实现。 |
程序代码及运行结果: 代码: function[pi] = sumfact(n) format compact s=1; n=[100 1000 10000] for j=1:3 sum=0; for i=1:n(j) s=1/(i^2); sum=sum+s; end pi(j)=(6*sum)^(1/2); end end 结果: ans =3.1321 3.1406 3.1415 |
5、根据,求:(1) y<3时的最大n值。(2) 与(1)的n值对应的y值。要求:用while循环结构来实现。 |
程序代码及运行结果: 代码: y=0; n=0; while y<3 n=n+1; y=y+(1/(2*n-1)); end y=y-1/(2*n-1) n=n-1 结果: y=2.9944 n=56 |
%%if程序解决分段函数
x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
for i=1:length(x)
if x(i)<0&x(i)~=-3
y(i)=x(i)^2+x(i)-6;
elseif x(i)>=0&x(i)<5&x(i)~=2&x(i)~=3
y(i)=x(i)^2-5*x(i)+6;
else
y(i)=x(i)^2-x(i)-1;
end
end
y
%%iswitch程序解决进货问题
time=[54,100,140];
for i=1:3
switch time(i)
case (time(i)>120)
gongzi(i)=120*84+(120-time(i))*84*0.15;
case (time(i)<60)
gongzi(i)=time(i)*84-700;
otherwise
gongzi(i)=time(i)*84;
end
end
gongzi
%%for程序解决递归算式问题(等比等差类别)
n=[100 1000 10000];
for j=1:length(n)
sum=0;
for i=1:n(j)
sum=sum+1/i^2;
end
end
pi(j)=(6*sum)^(1/2)
s=0;
n=1;
for i=1:98
s=s+1/n;
n=n+1;
end
s
%%for程序解决递归算式问题(阶乘类)
s=1;
sum=0;
for i=1:3
s=s*i;
sum=sum+s;
end
sum
%%while程序解决临界问题(求小于三的最大数列)
y=0;n=0;
while(y<3);
n=n+1;
y=y+1/(2*n-1);
end
y
最后
以上就是优秀路人为你收集整理的matlab 程序篇(1/3)的全部内容,希望文章能够帮你解决matlab 程序篇(1/3)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复