返回   MATLAB中国论坛|MATLAB爱好者之家—不仅仅是MATLAB! > 基础科学-不仅仅是MATLAB! > 数学


数学 A discussion board for Mathematics.



回复
 
LinkBack 主题工具 显示模式
旧 2009-04-15, 03:02 PM   #1
初级会员
 
注册日期: 2009-04-15
年龄: 33
帖子: 3
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
liuyunfu 正向着好的方向发展
默认 新手求助:如何用matlab求含有 组合数的 数列和

因为在这里很难输入数学公式,所以公式上传到附件中,请指教在matlab中如何实现
上传的图像
文件类型: jpg 如何用matlab求含有 组合数的 数列和.jpg (9.0 KB, 22 次查看)
liuyunfu 当前离线   回复时引用此帖
旧 2009-04-15, 04:38 PM   #2
hrt
初级会员
 
注册日期: 2009-03-11
年龄: 30
帖子: 9
感谢他人: 0
有 5 帖获得 5 感谢
声望力: 0
hrt 正向着好的方向发展
默认 回复: 新手求助:如何用matlab求含有 组合数的 数列和

做了一下:
>> 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命令查看~ ~
hrt 当前离线   回复时引用此帖
旧 2009-04-19, 11:20 AM   #3
初级会员
 
注册日期: 2009-04-15
年龄: 33
帖子: 3
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
liuyunfu 正向着好的方向发展
默认 回复: 新手求助:如何用matlab求含有 组合数的 数列和

谢谢你!不过我把你的程序输入到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
liuyunfu 当前离线   回复时引用此帖
旧 2009-04-19, 11:22 AM   #4
初级会员
 
注册日期: 2009-04-15
年龄: 33
帖子: 3
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
liuyunfu 正向着好的方向发展
默认 回复: 新手求助:如何用matlab求含有 组合数的 数列和

忘了补充一下,不需要那个组合数了,不过带组合数的时候按照你的程序也更复杂,而不是R-R^n
liuyunfu 当前离线   回复时引用此帖
旧 2009-04-27, 01:19 PM   #5
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
感谢他人: 0
有 24 帖获得 25 感谢
声望力: 14
laosam280 正向着好的方向发展
默认 回复: 新手求助:如何用matlab求含有 组合数的 数列和

二楼的说法是完整的
如果你找不到组合数的公式,那你就采用符号求和,用syms定义,然后用sum求和就可以了
__________________
坚持就是胜利,努力就有奇迹。
laosam280 当前离线   回复时引用此帖
旧 2013-01-24, 02:50 PM   #6
初级会员
 
注册日期: 2013-01-24
帖子: 1
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
~Olivia 正向着好的方向发展
默认 回复: 新手求助:如何用matlab求含有 组合数的 数列和

引用:
作者: hrt 查看帖子
做了一下:
>> 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命令查看~ ~
请教下, 为什么我运行你的这个程序运行不出来呢。我的matlab版本是2012a
我有个类似的,但更复杂的式子要运行。希望得到回复。

clear all
syms n k q;
a=sym('(-1)^k * ( (n-1)!/k!/(n-1-k)! ) * ( ((n-k-1)q-1)!/n!/((n-k-1)q-1-n)! )');
symsum(a,k,0,n-2)
~Olivia 当前离线   回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 02:30 PM


Powered by vBulletin
版权所有 ©2000 - 2017,Jelsoft Enterprises Ltd.
陕ICP备07001583号

SEO by vBSEO ©2009, Crawlability, Inc.