# How to calculate gradient from semilogy plot graph?

10 views (last 30 days)
christina widyaningtyas on 14 Jul 2022
Edited: Torsten on 1 Mar 2023 at 13:10
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

Torsten on 14 Jul 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.
Torsten on 15 Jul 2022
Edited: Torsten on 15 Jul 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;
a = -0.0356
ans = 1.0853
syms t
p = 10^(a*t+b);
double(subs(p,t,0))
ans = 70.0000
double(subs(p,t,30))
ans = 6.0000
p = matlabFunction(p);
t = 0:0.1:40;
plot(t,p(t))

BELDA on 1 Mar 2023 at 11:46
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 .
Torsten on 1 Mar 2023 at 13:09
Edited: Torsten on 1 Mar 2023 at 13:10
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))