全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1136 3
2015-09-01
公式: 1.PNG


Y(t): 细菌数量
Y(0): 细菌初始数量
θ: 增长率
t: 时间(小时)


X:细菌总数

有两种细菌, A 和 B,
X(t) = A(t) + B(t)


求: 当t等于多少的时候X(t) = 10^10


用 while 或者 until 来写代码.



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-9-2 16:31:52
%macro backterial(target,a0,ka,b0,kb);
Data notes;
   retain t 0;
   Length total :8;
   Do until (total ge &target);
    Ya=&a0*exp(&ka*t);
    Yb=&b0*exp(&kb*t);
    Total=Ya+Yb;
    t=t+1;
    output;
  end;
%mend backterial;
%backterial(10000000000,1,2,1,2);
proc print data=notes;
run;


以上,target为细菌总数的目标值,a0,b0分别是开始的细菌个数,ka,ka分别是两类细菌的增长率,在调用的时候自行输入。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-9-6 09:23:01
非常好的解决方法和程序。但是很可能得不到比较确切的解。以下枚举一例。

复制代码

也可以参阅我的博客。京剧


http://blog.sina.com.cn/s/blog_a3a926360102vog7.html



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-9-6 14:14:29
非常感谢jingju11的提醒,在写的时候确实没考虑到t的精度问题。
想了一下,一种变通的方式是根据想要的精度,调节每次t的增加幅度,如t=t+0.001,得出结果后再换算成具体的时分秒。
关于jingju11提供的程序,数学不行,还在努力学习ing....。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群