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 Comment

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

Sign in to comment.

Answers (1)

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 Comments

Since the OP gave us values for both M and N, one of the M's in the equation might be a typo.
I'm really thankful for your kind answer.

Sign in to comment.

Categories

Find more on Mathematics in Help Center and File Exchange

Products

Release

R2018a

Asked:

on 1 Sep 2022

Commented:

on 2 Sep 2022

Community Treasure Hunt

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

Start Hunting!