MATLAB Answers


Series summation issue - conversion to double error

Asked by Jon
on 20 Feb 2013
Accepted Answer by bym

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?


EDIT: Link is of the sum



No products are associated with this question.

2 Answers

Answer by bym
on 21 Feb 2013
 Accepted answer

At some point, Matlab gives up & returns the indefinite summation. You can try this:

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);
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 Comment

on 23 Feb 2013

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!

Answer by Walter Roberson
on 20 Feb 2013

You could try


If that gives you the same error then your summation1 must still contain some symbolic variable. Try



on 20 Feb 2013

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.

on 21 Feb 2013

Here's the sum for completeness

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!