Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我有这个算法,但是我不太热衷于许多if语句。
有人可以看到是否可以更简洁的方式编写此函数吗? rand('twister',101) n = 10; f = A.^(0:n)./factorial(0:n); f = f/sum(f); n = 10000; Xi = 2; X = zeros(1,n); for i =1:n, dXi = (-1)^round(rand); Yi = Xi + dXi; if Yi > 0 & Yi = f(Xi), X(i) = Yi; Xi = Yi; else if rand |
![]() |
![]() |