sum and plot of symbolic error functions

I have to plot a summation of series of error functions like in the following code. The value of variable n changes from negative infinity to positive infinity. I just denote them as -1000 and 1000. My program can not produce results and I can not plot either. My program is below. Thank you! I really appreciate your support!
w=70*10^-6;
h=w/2;
D=3.3*10^-10;
t=10^-5;
Co=10^-6;
syms n x
symsum(erf((h+2*n*w-x)/sqrt(4*D*t))+erf((h-2*n*w+x)/sqrt(4*D*t)),n,-1000,1000)
ezplot(ans)

 Réponse acceptée

Walter Roberson
Walter Roberson le 2 Fév 2018

1 vote

symsum recognizes that there is no good formula for that summation, and leaves a place-holder .
Note that symsum() is for attempting to construct a closed-form formula. If it does not find a useful one, then it returns symsum(). If you instead wanted it to return 2001 erf() functions added together, then instead of symsum() you should subs() -1000:1000 for n into the expression, and then sum() the result. It will be an ugly result with no practical use, though.
Now if you were to switch from discrete to continuous, int() of that formula is resolvable.

1 commentaire

Thanks Walter Roberson. I got nice results without using symsum anymore. Here is the code:
w=70*10^-6;
h=w/2;
D=3.3*10^-10;
t=10^-5;
Co=10^-6;
for n=1:100000
c(n)=(Co/2)*(erf((h+2*n*w-x)/sqrt(4*D*t))+erf((h-2*n*w+x)/sqrt(4*D*t)));
b(n)=(Co/2)*(erf((h-2*n*w-x)/sqrt(4*D*t))+erf((h+2*n*w+x)/sqrt(4*D*t)));
a=(Co/2)*(erf((h-x)/sqrt(4*D*t))+erf((h+x)/sqrt(4*D*t)))
S=c(n)+b(n)+a;
end

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by