how can I plot the following function in matlab without symbolic toolbox?

8 次查看(过去 30 天)
with Ts=300 , Ti=100 , L=1 , x=0:0.01:L, t=0.5 and a=0.1
I have written the following code but it doesn't work. can sb help me?
clc; clear all
Ts=300;
Ti=100;
a=0.1;
l=1;
Sum=0;
for x=0:0.01:l;
for m=1:1000000
S=((exp(-((m*3.14/l)^2)*0.05))*((1-(-1)^3.14)/(m*3.14))*sin(m*3.14*x));
Sum=Sum+S;
end
T=Ts+2*(Ti-Ts)*Sum;
plot(x,T)
hold on;
end
it should give me a sin like figure but it gives
please help me to find the problem. :((

采纳的回答

the cyclist
the cyclist 2014-1-3
编辑:the cyclist 2014-1-3
Looks pretty sinusoidal to me. You've only plotted a very small portion, though. Maybe try letting x run from -5 to 5 to see more of the domain?
Also, I think you can let m be something a lot smaller, and you will still see the limiting behavior well.
I notice in your formula you have (-1)^3.14 in one place where the formula has (-1)^m.
Finally, you can use "pi" in place of 3.14. MATLAB understands what that means.
  1 个评论
nargess
nargess 2014-1-3
thank you for your attention. yes I edit that part(the ^pi part)it's again out of range . unfortunately I can not change the limits. because the problem has defined them. since two sides of wall are at the same temperature, (and from the results of two numerical method), it's expected that temperature distribution must be symmetric in this interval. with the minimum at the middle.! but it's not!

请先登录,再进行评论。

更多回答(1 个)

Laurent
Laurent 2014-1-3
编辑:Laurent 2014-1-3
In addition to the answer of the cyclist:
You set Sum=0 outside of the loop, which means that it will never be reset to 0 for a new value of x. I suggest to put it after the line 'for x=0:0.01:l'.

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by