matlab函数编写的问题
这个式子中N=K=100,TS=TP=10,以p1为自变量,E1(tsu)为因变量,试给出函数代码并画出x-y坐标图。...
这个式子中N=K=100, TS=TP=10 ,以p1为自变量,E1(tsu)为因变量,试给出函数代码并画出x-y坐标图。
展开
1个回答
展开全部
参考代码:
N=100; K=N;
Ts=10; Tp=10;
E1=@(p)sum(arrayfun(@(i)nchoosek(K-2+i,i)*p^i*(1-p)^(K-1)*(Ts+i*Tp),0:N));
p=0:0.02:1;
plot(p,arrayfun(E1,p))
xlabel p_1; ylabel E_1(t_{su})
说明两点:
1、从感觉上,这种二项形式的公式,p1的指数是i,(1-p1)的指数应该是K-i才比较符合常理。另,既然Tp=Ts,最后一项完全可以写成(1+i)*Ts。当然,这些只是猜测,公式的正确性应该由题主自行保证,我这里只是提醒一下而已。
2、使用nchoosek函数,当结果比较大时会有如下精度警告:
Warning: Result may not be exact. Coefficient is greater than 1.000000e+015 and is only accurate to 15 digits.
可以忽略这个警告,一般来说它对结果的影响并不大。也可以使用符号运算来避免这样的警告:
N=100; K=N;
Ts=10; Tp=10;
Cnk=@(n,k)double(sym(sprintf('%i!/%i!/%i!',n,k,n-k)));
E1=@(p)sum(arrayfun(@(i)Cnk(K-2+i,i)*p^i*(1-p)^(K-1)*(Ts+i*Tp),0:N));
plot(p,arrayfun(E1,p))
xlabel p_1; ylabel E_1(t_{su})
追问
好像我问的有点出入,能和你百度私信吗?
追答
有问题可以追问或者私信,但我不一定能及时答复。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询