MATLAB中symsum的疑问

我在MATLAB中输入>>symsi>>symsum('2^i',i,0,2)得到结果是216并不是2^0+2^1+2^2但如果改为>>symsi>>symsum('2^... 我在MATLAB中输入
>> syms i
>> symsum('2^i',i,0,2)
得到结果是216
并不是2^0+2^1+2^2
但如果改为
>> syms i
>> symsum('2^i+1',i,0,2)
得10
得到的却是2^0+2^1+2^2+3
这到底是为什么呢????希望高手解答
我用的是MATLAB7
展开
 我来答
yyllff1982
2009-07-21 · TA获得超过496个赞
知道答主
回答量:76
采纳率:0%
帮助的人:0
展开全部
>> syms i
symsum('2^i',i,0,2)

ans =

216

>> syms k
>> symsum('2^k',k,0,2)

ans =

216
这说明和变量的应用没什么关系,将程序改为
>> syms k
symsum(2^k,k,0,2)

ans =

7,
得到正确答案,说明是你调用涵数时格式错误。
syms i
symsum('2^i+1',i,0,2)

ans =

10

>> syms i
symsum(2^i+1,i,0,2)

ans =

10
均可能到正确结果
这主要是因为matlab中应该程序自身的问题,你可以去查一下sym和findsy及maple几个函数,但如果你安matlab自身指定的格式输入的话,基本是不会出错的,其实说回来,每个软件都不会是完美的,要不然它也不会总是出新版本,呵呵!我试过这样算
syms k
symsum('2^k+0',k,0,2)

ans =

216
结果还是不行,这说明它自身在编写的时候,在symsum('2^i',i,0,2)这个式子上是不兼容的,换言之是不能正常运行的,这其中涉及的函数较复杂,方面也比较多。大家都在努力的学习,但到达全盘皆通还都有很长的路要走,大家一起努力吧
洛铃语7Z
2009-07-19
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
我的是matlab 2009a
在输入symsum('2^i',i,0,2)的时候,matlab2009是会报错的。
正确的输入方法是symsum(2^i,i,0,2)注意:是没有引号的。
如此,我得到的答案是7。
而后面symsum('2^i+1',i,0,2)我的matlab仍是报错。但去掉引号是正常的。
你可以参看matlab帮助中的symsum函数,它的例子中,也是没有引号的。
加了引号的是字符串,symsum是符号计算。没有办法计算的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
化学工程
2009-07-19 · TA获得超过8900个赞
知道大有可为答主
回答量:2212
采纳率:80%
帮助的人:3359万
展开全部
真的很奇怪,我的也是7.0,也一样。

clc;clear
syms k
t1=symsum('2^k',k,0,2)
t2=symsum(2^k,k,0,2)

结果:
t1 =

216

t2 =

7

>> ver
-------------------------------------------------------------------------------------
MATLAB Version 7.0.0.19920 (R14)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
戢凡之01B
2009-07-19 · 超过13用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:0
展开全部
建议不要用i,i本来在matlab中体表的是虚数,易出错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式