Azzera filtri
Azzera filtri

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

15 visualizzazioni (ultimi 30 giorni)
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. :((

Risposta accettata

the cyclist
the cyclist il 3 Gen 2014
Modificato: the cyclist il 3 Gen 2014
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 Commento
nargess
nargess il 3 Gen 2014
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!

Accedi per commentare.

Più risposte (1)

Laurent
Laurent il 3 Gen 2014
Modificato: Laurent il 3 Gen 2014
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'.

Categorie

Scopri di più su Mathematics in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by