How to use log scale with fimplicit

12 views (last 30 days)
Hi everyone, I have to plot an implicit equation and I'm using fimplicit:
fimplicit(@(x,y) cosh((log(2)*(x-1))./((x+1).*y)) - (1/2)*exp(log(2)./y), [1 1000 0 1])
that's ok but I need it on log scale on the x-axis. Is it possibile to use semilogx in this case or something similar?
Thx :)
lorenzo

Accepted Answer

Torsten
Torsten on 18 Aug 2022
Edited: Torsten on 18 Aug 2022
x = 0:0.1:1000;
fun = @(x,y) cosh((log(2)*(x-1))./((x+1).*y)) - (1/2)*exp(log(2)./y);
options = optimset('Display','none');
tic
y = fsolve(@(y)fun(x,y),0.5*ones(size(x)),options);
toc
Elapsed time is 21.418050 seconds.
tic
y = arrayfun(@(x)fsolve(@(y)fun(x,y),0.5,options),x);
toc
Elapsed time is 4.687107 seconds.
semilogx(x,y)

More Answers (1)

Walter Roberson
Walter Roberson on 18 Aug 2022
fimplicit(@(x,y) cosh((log(2)*(x-1))./((x+1).*y)) - (1/2)*exp(log(2)./y), [1 1000 0 1])
set(gca, 'XScale', 'log')

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!