Series summation issue - conversion to double error

on 20 Feb 2013

bym (view profile)

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

Products

No products are associated with this question.

bym (view profile)

on 21 Feb 2013

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`

Jon

Jon (view profile)

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!

Walter Roberson (view profile)

on 20 Feb 2013

You could try

```double(summation1)
```

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

```symvar(summation1)
```

Jon

Jon (view profile)

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.

Jon

Jon (view profile)

on 21 Feb 2013

http://i.imgur.com/mz2KV5h.jpg

Here's the sum for completeness

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