24小时热门版块排行榜    

查看: 495  |  回复: 2

karry2karry

新虫 (初入文坛)

[求助] 请问这个问题,用MATLAB代码怎么实现? 已有1人参与

请问这个问题用MATLAB怎么实现

请问这个问题,用MATLAB代码怎么实现?


@月只蓝 @beefly 发自小木虫Android客户端
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

oldoldstone

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
我去,matlab数值法最大只能算出170的阶乘,符号法最大也只能算出999的阶乘,应该需要进一步近似的。。。
写了一个符号法的,代码放在同一个文件pp.m
%pp.m
function pp
N=0:999;
A=zeros(length(N),1);
for n=N
    A(n+1)=fun(n);
end
plot(N,A)

function  result=fun(N)
syms n m lambda c
n=sym(num2str(N));
lambda=sym('3000');
f=lambda^m/factorial(m); %求和函数
S=lambda^n/factorial(n)/symsum(f,m,0,n);   %分子的3000我也是用lambda代替了
result=vpa(S,8);%转化为数值

貌似运行需要几分钟,出来几乎是一条直线。
2楼2016-12-27 15:17:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小圆盾

铜虫 (小有名气)

3楼2016-12-27 18:25:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 karry2karry 的主题更新
信息提示
请填处理意见