Series summation issue - conversion to double error

조회 수: 3 (최근 30일)
Jon
Jon 2013년 2월 20일
Hi, I'm trying to write a series summation code and I'm getting the "conversion to double" error when I plot.
Here's the part of the code with trouble:
syms m
rhs = (1./(1+(2.*(t- m.*p))./tc)).* exp((-2.*r^2)./(r^2.*(1+ (2.*(t-m.*p)./tc))));
summation1 = symsum(rhs,0,1.89E5);
Where tc, r, and p are constants and t is a timespace with 36 spaces.
Is the problem that I'm asking it to sum from 0 to 1.89e5 with those 36 time spaces?
Thanks
EDIT: http://i.imgur.com/mz2KV5h.jpg Link is of the sum

채택된 답변

bym
bym 2013년 2월 21일
At some point, Matlab gives up & returns the indefinite summation. You can try this:
clc;clear
syms m
tc = 3;
p = 3;
t = 1:10;
r =2;
rhs = (1./(1+(2.*(t- m.*p))./tc)).* exp((-2.*r^2)./(r^2.*(1+ (2.*(t-m.*p)./tc))));
summation1 = symsum(rhs);
f = matlabFunction(summation1);
f(189000)
f(10)
ans =
1.0e-005 *
Columns 1 through 8
-0.2646 -0.2646 -0.2646 -0.2646 -0.2646 -0.2646 -0.2646 -0.2646
Columns 9 through 10
-0.2646 -0.2646
ans =
Columns 1 through 8
-0.0608 -0.0634 -0.0662 -0.0692 -0.0725 -0.0762 -0.0802 -0.0847
Columns 9 through 10
-0.0897 -0.0954
  댓글 수: 1
Jon
Jon 2013년 2월 23일
Thank you, this will work for now while I have a dozen or so points, but it gets quite complex when I want to extend my time.
Many thanks!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2013년 2월 20일
You could try
double(summation1)
If that gives you the same error then your summation1 must still contain some symbolic variable. Try
symvar(summation1)
  댓글 수: 2
Jon
Jon 2013년 2월 20일
편집: Jon 2013년 2월 21일
I get the same error when using both
Conversion to double from sym is not possible.
I had read about converting that symbolic variable and figured that could be the issue but I used the
subs(summation1, 'new array to replace "m" ' )
and that seemed to accept it, now it's about fixing my values
EDIT: False alarm - it just makes the variable a single value.
Jon
Jon 2013년 2월 21일
Here's the sum for completeness

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Calculus에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by