|
|
#1 |
|
初级会员
注册日期: 2009-04-15
年龄: 27
帖子: 3
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0 ![]() |
因为在这里很难输入数学公式,所以公式上传到附件中,请指教在matlab中如何实现
|
|
|
|
|
|
#2 |
|
初级会员
注册日期: 2009-03-11
年龄: 25
帖子: 9
感谢他人: 0
有 5 帖获得 5 感谢
声望力: 0 ![]() |
做了一下:
>> a=sym('n!/(n-m)!/m!*m/n*R^(m)*(1-R)^(n-m)'); %将括号中的表达式转化为符号表达式。 >> syms m n R; % 定义符号变量 >> symsum(a,m,0,n-1) %求和,将m作为变量,变量从0变化到n-1 结果如下: ans = R-R^n ~ ~ matlab中也有求组合数的函数:nchoosek,但需要输入具体的数值,不能接受符号变量 详细的内容,你可以利用matlab的help命令查看~ ~ |
|
|
|
|
|
#3 |
|
初级会员
注册日期: 2009-04-15
年龄: 27
帖子: 3
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0 ![]() |
谢谢你!不过我把你的程序输入到matlab中为什么得的结果和你的这个不一样呢?很复杂?
如下: a=sym('m/n*R^(m)*(1-R)^(n-m)'); %将括号中的表达式转化为符号表达式。 syms m n R; % 定义符号变量 symsum(a,m,0,n-1) %求和,将m作为变量,变量从0变化到n-1 ans = -(2*R*n-n-R)*(-1+R)*(-R/(-1+R))^n*(1-R)^n/(2*R-1)^2/n-R*(-1+R)*(1-R)^n/(2*R-1)^2/n |
|
|
|
|
|
#4 |
|
初级会员
注册日期: 2009-04-15
年龄: 27
帖子: 3
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0 ![]() |
忘了补充一下,不需要那个组合数了,不过带组合数的时候按照你的程序也更复杂,而不是R-R^n
|
|
|
|
|
|
#5 |
|
高级会员
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 232
感谢他人: 0
有 24 帖获得 25 感谢
声望力: 8 ![]() |
二楼的说法是完整的
如果你找不到组合数的公式,那你就采用符号求和,用syms定义,然后用sum求和就可以了
__________________
坚持就是胜利,努力就有奇迹。 |
|
|
|