Plot implicit function with log scale

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 commentaire

Why can't you use fimplicit and then change to log-scale afterwards:
set(gca,'XScale','log','YScale','log')
HTH

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 1 Sep 2022
Modifié(e) : Walter Roberson le 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
eqn = 
N_val = sym(1.715369);
M_val = sym(4444.444444);
k_val = sym(10^4);
eqnn = subs(eqn, {M, k}, {M_val, k_val})
eqnn = 
ysol = solve(eqnn, y)
Warning: Solutions are only valid under certain conditions. To include parameters and conditions in the solution, specify the 'ReturnConditions' value as 'true'.
ysol = 
vpa(expand(ysol), 10)
ans = 
x_vec = logspace(-15, -9, 200);
y = double(subs(ysol, x, x_vec)).';
loglog(x_vec, y, '-b');

2 commentaires

Bjorn Gustavsson
Bjorn Gustavsson le 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
Bo Hoon Han le 2 Sep 2022
I'm really thankful for your kind answer.

Connectez-vous pour commenter.

Catégories

En savoir plus sur 2-D and 3-D Plots dans Centre d'aide et File Exchange

Produits

Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by