永发信息网

已知an+1=0.5an,a0=1;如何用matlab求解当an=0.01时n的值?

答案:1  悬赏:70  手机版
解决时间 2021-02-27 20:45
  • 提问者网友:半生酒醒
  • 2021-02-26 21:47
已知an+1=0.5an,a0=1;如何用matlab求解当an=0.01时n的值?
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-02-26 23:12
n=0;
a=1;
while(1)
a=0.5*a;
n=n+1;
if(a<=0.01)
    break;
end
end
disp(sprintf('a_%d=%f',n,a));如果a0=1,an是不可能等于0.01的,这里就算当an<0.01时候就停止

结果显示a_7=0.007813,表示从a7开始小于0.01
追问能否求一个小数值呢,答案是6.6,因为这是一个用碳14法测定年代的模型,需要精确值追答我还以为是数列呢,表示成指数函数,直接求对数就可以了
公式应该表示为 an=a0*0.5^n
所以 n=log0.5(an/a0)=log0.5(0.01)=-log2(0.01)
在matlab命令行输入
>> -log2(0.01)
ans =
6.6439
得到6.6439,就是经过6.6439个半衰期,衰减为原来的百分之一
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯