how can i plot this function?
Show older comments
I have to plot this formula:

on matlab:
%Meyer-Peter Muller
taus=0.01:1;
tausc1=0.047;
fi1=8*(taus-tausc1).^(3/2);
and I have write like this:
subplot (2,2,1) %Meyer-Peter Muller
hold on
plot(taus,fi1,'LineWidth',3)
grid on
axis([0.01 1 0.001 10])
set(gca,'XScale','log');
set(gca,'YScale','log');
xlabel('\tau_*')
ylabel('\phi_o')
but there is this error:
Warning: Imaginary parts of complex X and/or Y arguments ignored.
Accepted Answer
More Answers (1)
Walter Roberson
on 19 Jun 2022
1 vote
0.01 minus 0.047 is negative. negative raised to 3/2 is complex. Your x are non-negative real but your fi1 are a mix of real and complex values.
You also ask for log scale for both axes. log of a complex value would be complex, so it is not obvious what you want plotted.
0.01:1 is the single value 0.01. Remember that the default increment is 1
What do you expect a log plot of complex values to look like?
2 Comments
I plotted the formula as given. I also used the general form of the formula, and read off some readings from the graph, and solve simultaneous equations to get approximate solutions.
Notice that the mulitiplier found through reading from the graph is fairly close to the 4 you already have, and that the exponent found through approximation is fairly close to the 3/2 you already have. The value supportraced has a notable difference though.
I had to choose representative values from the graph; it is possible that I did not pick consistent values.
syms a b c x
f(x,a,b,c) = a * (x-b)^c
eqn1 = f(10^-1.75, a, b, c) == 10^-4
eqn2 = f(10^0, a, b, c) == 10^0.6
eqn3 = f(10^-1, a, b, c) == 10^-1
sol = solve([eqn1, eqn2, eqn3], a, b, c)
f0 = f(x, 4, 0.047, 3/2)
f1 = subs(f(x,a,b,c), sol)
vpa(f1, 10)
fplot([f0, f1], [0.05, 1])
set(gca, 'XScale', 'log', 'YScale', 'log')
legend({'Meyer-Peter Muller', 'Approximated from graph'})
xlim([10^-2, 10^0])
ylim([10^-4, 10^1])
Categories
Find more on Contour Plots 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!


