查看单个帖子
旧 2008-06-04, 15:09   #5
fanxing39
高级会员
 
注册日期: 2007-12-02
年龄: 44
帖子: 303
声望力: 31
fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星
默认

syms s p N r
g=exp(-r*(1- s*(1-p+p*s)/((1+p)^(N-1)+s*(1-p+p*s)*(1-(1+p)^(N-1)))));
L1=zeros(100,1); j=1;
g=diff(g,'s');
r=1;s=0; N=200;p=10^(1/200)-1;
f=subs(g);
n=1:100;
L1=f./factorial(n);
plot([1:100],L1);

解释: factorial(n) 就是求阶乘的,你的f 原来只需要算一次,所以 放到你的for 循环里,就多计算了99次,增加了它的计算量,并且阶乘也是你自己编程算,这个没有直接调用 函数 算起来快
在计算一个程序前,如果以前的程序结果你不需要调用,建议加 “clear” (清除内存中的变量)
fanxing39 当前离线   回复时引用此帖