matlab 如何对阶乘求和??
syms x w k ;N=10;
fg=symsum(1/factorial(k)*(x/w)^(2*k),k,0,N);
运行报错,
??? Error using ==> fix
Function 'fix' is not defined for values of class 'sym'.
Error in ==> D:\MATLAB6p5\toolbox\matlab\specfun\factorial.m
On line 14 ==> if (length(n)~=1) | (fix(n) ~= n) | (n < 0)
不知该如何是好!请大侠明示!
谢谢!
[ 本帖最后由 soberprogress 于 2008-11-7 22:26 编辑 ]
回复 楼主 soberprogress 的帖子
报什么错? factorial的参数只能是数值型的。符号工具箱中,MATLAB没有对其重载。对于阶乘,建议用gamma函数n! = gamma(n+1),不仅适合于数值型而且适合于符号型。因此,这样就可以了:syms x w k ;
N=10;
fg=symsum(1/gamma(k+1)*(x/w)^(2*k),k,0,N);
回复 板凳 rocwoods 的帖子
很好,谢谢你!好人一生平安!
页:
[1]