许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  数学建模之Matlab初学:两天搞定实战(程序篇 1/2)

数学建模之Matlab初学:两天搞定实战(程序篇 1/2)

阅读数 10
点赞 0
article_banner

通常我们用if 程序 解决分段函数,switch程序解决进货类问题,for程序解决递归算式问题


2、求分段函数的值 请建立函数式文件,用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、根据π26=112+122+⋯+1n2,求π的近似值。当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、根据y=1+13+15+⋯+12n-1,求:(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


x =[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];

   for i=1:length(x)    %%记录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

%%if程序 解决 分段函数




   y
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

%%switch程序解决进货问题


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)

%%for程序解决递归算式问题


s=0;

   n=1;

   for i=1:98

   s=s+1/n;

   n=n+1;

   end

   s

有钱的人都不会再在图外大声


s=1;

   sum=0;

   for i=1:4

   s=s*i;

   sum=sum+s;

   end

   sum

   y=0;n=0;

这是一个求1到n!的和



while(y<3);%%while程序解决临界问题

       n=n+1;

       y=y+1/(2*n-1);

   end

   y


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空