How can i Calculate this with matlab?

조회 수: 2(최근 30일)
maziar
maziar 2021년 12월 1일
댓글: maziar 2021년 12월 16일
Alpha=0.1
L=1
t=0.05
x=0.2

채택된 답변

Star Strider
Star Strider 2021년 12월 1일
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
maziar
maziar 2021년 12월 16일
thanks everybody for suggestions and i must say that i am using Matlab R2019b.

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

추가 답변(1개)

Yongjian Feng
Yongjian Feng 2021년 12월 1일
편집: Yongjian Feng 2021년 12월 1일
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