How to calculate gradient from semilogy plot graph?
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
christina widyaningtyas
el 14 de Jul. de 2022
I have data and already plotted in semilogy graph,
I need to know the gradient from that graph
Any one can help me, please?
I use Matlab 2016b versiaon
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1065230/image.png)
0 comentarios
Respuesta aceptada
Torsten
el 14 de Jul. de 2022
In the left part, your functional equation is approximately
f(x) = 10^(-3.2*x+70)
I don't know from your question whether you mean the gradient of your original function f(x) or that of log10(f(x)) that is shown in the plot.
5 comentarios
Torsten
el 15 de Jul. de 2022
Editada: Torsten
el 15 de Jul. de 2022
I don't know what you try to do.
The linear part of the semilogy plot can be approximated by g(t) = 70-3.2*t.
Thus the original pressure function is
p(t) = 10^g(t) = 10^(70-3.2*t).
Now I just calculated its gradient symbolically:
syms t
p = 10^(70-3.2*t)
gradp = diff(p,t)
Or maybe you don't have a licence for the Symbolic Toolbox ?
Try
license checkout Symbolic_Toolbox
Torsten
el 15 de Jul. de 2022
Editada: Torsten
el 15 de Jul. de 2022
I think I made a mistake in the calculation of your pressure function.
I assumed that in the semilogy plot, log(p) is plotted against t. But that's not true - it's also p that is shown.
The following code should be correct:
b = log10(70);
a = log10(6/70)/30;
syms t
p = 10^(a*t+b);
double(subs(p,t,0))
double(subs(p,t,30))
gradp = diff(p,t);
p = matlabFunction(p);
gradp = matlabFunction(gradp);
t = 0:0.1:40;
plot(t,p(t))
plot(t,gradp(t))
Más respuestas (1)
BELDA
el 1 de Mzo. de 2023
1° question n°1 :
b = log10(70);
a = log10(6/70)/30;
Vous avez élévé la fonction f(x) en log base 10 c a d en échelle semilog alors que x est en échelle linéaire afin de mieux définir ma fonction f(x);
pourquoi pour a=log10(6/70)/30 comment on trouve (6/70)/30 pour -3.2x
D'avance merci .
1 comentario
Torsten
el 1 de Mzo. de 2023
Editada: Torsten
el 1 de Mzo. de 2023
You search for the constants of a linear function a*x+b such that (from the graph)
p(0) = 10^(a*0+b) = 70
p(20) = 10^(a*20+b) = 6 (I don't know how I came up with p(30) = 6 as done above).
The equations are thus
70 = 10^b, thus b = log10(70) and
6 = 10^(a*20+b) -> log10(6) = a*20+log10(70) -> a = (log10(6)-log10(70))/20 = log10(6/70) / 20.
The original pressure curve is thus approximately
p(t) = 10^(log10(6/70) / 20 * t + log10(70))
Ver también
Categorías
Más información sobre Argument Definitions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!