fplot showing different curve to plot

Hey there! I tried plotting a simple function using two ways:
  1. By creating an anonymous function and using fplot() to produce the plot
  2. By simply creating a normal function and using plot() to produce the plot
Here's the code for the first:
clear all
close all
clc
M = 100;
p_b = 2;
Q = @(p_a) M./(p_a + p_b);
figure(1)
fplot(Q, [0 35])
ylim([0 30])
xlim([0 25])
Here's the code for the second:
clear all
close all
clc
M = 100;
p_b = 2;
p_a = [0:0.1:35];
Q = M./(p_a+p_b);
figure(2)
plot(Q,p_a)
ylim([0 30])
xlim([0 25])
The curves look identical but they're actually different if you use the data tips on the figures and compare them (see photo below)
Anyone know why this is? I'm a bit lost :(

 采纳的回答

plot(p_a,Q)
instead of
plot(Q,p_a):
M = 100;
p_b = 2;
Q = @(p_a) M./(p_a + p_b);
hold on
fplot(Q, [0 35])
ylim([0 30])
xlim([0 25])
p_a = [0:0.1:35];
Q = M./(p_a+p_b);
plot(p_a,Q)
hold off
grid on

2 个评论

My god, 'twas such a simple fix... Thank you so much! So plot and fplot just have x & y the opposite way?
plot(x-values,y-values)
fplot(function handle or symbolic function of x,[minimum x-value maximum x-value])

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Line Plots 的更多信息

产品

版本

R2020b

标签

Community Treasure Hunt

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

Start Hunting!

Translated by