How can i Calculate this with matlab?

5 views (last 30 days)
Alpha=0.1
L=1
t=0.05
x=0.2

Accepted Answer

Star Strider
Star Strider on 1 Dec 2021
Using the Symbolic Math Toolbox —
syms m
alpha = 1;
L = 1;
t = 0.05;
x = 42; % Not Supplied
arg = exp(-(m*pi/L)^2*alpha*t) * (1 - (-1)^m)/(m*pi) * sin(m*pi*x/L)
arg = 
S = symsum(arg, m, 1, Inf)
S = 
Svpa = vpa(S)
Svpa = 
0.0
I am not certain where the term is supposed to go, so I included it as part ot the exponent argument because it appears to mne that is where it belongs. Change that if I guessed in error.
Experiment to get different results.
.
  11 Comments
maziar
maziar on 16 Dec 2021
thanks everybody for suggestions and i must say that i am using Matlab R2019b.

Sign in to comment.

More Answers (1)

Yongjian Feng
Yongjian Feng on 1 Dec 2021
Edited: Yongjian Feng on 1 Dec 2021
If the series is convergent, one way is to set a cutoff value (for example epsilon = 0.00000001). Then when you do the sum from m going up, compute each term. If a term is smaller than epsilon (when m is big enough) then stop. Something like this
epsilon = 0.000000001; % this determines how accurate your result is
result = 0;
done = false;
m = 0;
while ~done
next_term = 0; % Do you calculation here for this m value!!!!
result += next_term; % accumulate
if next_term < epsilon
% the increment is small enough, stop the while loop
done = True;
end
m += 1; % go to next term
end

Community Treasure Hunt

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

Start Hunting!

Translated by