Plot implicit function with log scale
Ältere Kommentare anzeigen
Hello, I want to plot implicit function (33.9*k*M*x*y)/(k*M*sqrt(67.8*y)+33.9)-1.715369 = 0 with this constants.
N=1.715369;
M=4444.444444;
k=10^4;
I want to plot this implicit function at (x= 10^-15~10^-9) with log scale (both x and y)
Any help would be appreciated! Thanks.
1 Kommentar
Bjorn Gustavsson
am 1 Sep. 2022
Why can't you use fimplicit and then change to log-scale afterwards:
set(gca,'XScale','log','YScale','log')
HTH
Antworten (1)
Walter Roberson
am 1 Sep. 2022
Bearbeitet: Walter Roberson
am 1 Sep. 2022
In order to fimplicit this, you need to have an idea of what the y range is. It turns out that there are two solutions for each x, and they vary by roughly 10^40, making it difficult to plot unless you already have an idea of what you are looking for.
The solution with a smaller range is effectively constant over that range of x values.
syms k M x y
eqn = (33.9*k*M*x*y)./(k*M*sqrt(67.8*y)+33.9)-1.715369
N_val = sym(1.715369);
M_val = sym(4444.444444);
k_val = sym(10^4);
eqnn = subs(eqn, {M, k}, {M_val, k_val})
ysol = solve(eqnn, y)
vpa(expand(ysol), 10)
x_vec = logspace(-15, -9, 200);
y = double(subs(ysol, x, x_vec)).';
loglog(x_vec, y, '-b');
2 Kommentare
Bjorn Gustavsson
am 1 Sep. 2022
Since the OP gave us values for both M and N, one of the M's in the equation might be a typo.
Bo Hoon Han
am 2 Sep. 2022
Kategorien
Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




