How to plot two exponential functions on Matlab?
Afficher commentaires plus anciens
I need to plot the two exponential functions on same graph. Please help me to write code. Thanks in advance.
f(x) = exp(-(((x-2)/3)^2)/2)
g(x) = 1-exp(-(((x-2)/3)^2))
Réponse acceptée
Plus de réponses (1)
Hi @Amna Habib
Try this:
x = -10:0.01:12;
f = exp(-(((x-2)/3).^2)/2);
g = 1-exp(-(((x-2)/3).^2));
plot(x, f, x, g)
xlabel('x')
legend('f(x)', 'g(x)')
grid on

6 commentaires
Amna Habib
le 28 Mar 2022
Sam Chak
le 28 Mar 2022
Hi @Amna Habib
First, we plot
to see how it looks like.
x = -10:0.01:12;
f = exp(-(((x-2)/3).^2)/2);
g = 1-exp(-(((x-2)/3).^2));
h = f.^2 + g.^2;
plot(x, f, x, g, x, h, 'linewidth', 1.5)

Mathematically speaking, there is only one point where
, and this point is at the center of the function, that is
, because the Gaussian distribution function will never truly reach zero, unless you consider the trivial solutions at
.
To show you this, type this:
index = find(h == 1);
x(index)
and it returns the value of 2.
Hence, when you asked about
, the answer is naturally all real values of x. But I guess this is probably not what you are looking for. If you want to find x when
is approaching 1, then try this:
index = find(h < 0.999);
x_min = x(min(index))
x_max = x(max(index))
x_min = -5.8800
x_max = 9.8800
Compare these values with the plot of
above, and decide if the results are satisfactory.
Amna Habib
le 28 Mar 2022
Amna Habib
le 29 Mar 2022
Torsten
le 29 Mar 2022
X = -12:0.01:12;
f = zeros(size(X));
g = zeros(size(X));
f(X<=0) = exp(-((X(X<=0)/3).^2)/2);
f(X>0) = exp(-((X(X>0)/2).^2)/2);
g(X<=0) = 1 - exp(-((X(X<=0)/3).^2));
g(X>0) = 1 - exp(-((X(X>0)/2).^2));
h = f.^2 + g.^2;
plot(X,[f;g;h],'linewidth',1.5)
Amna Habib
le 30 Mar 2022
Catégories
En savoir plus sur Numerical Integration and Differentiation 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!




