Why my data is not plotting the graph using plot(Q,h)

1 view (last 30 days)
muhammad choudhry
muhammad choudhry on 5 Oct 2020
Commented: KSSV on 5 Oct 2020
Hi,
I am not sure what is happening here? I am using the code below and all working fine but whenever it supposed to plot the graph it is not plotting the graph instead it is just printing all the values in command line section. So, I am using plot (Q,h) but whenever, i used scatter (Q,h) it put the points on the graph but for data representations I will need to plot the curves rather then scatter points.
I even used this code to join the scatter points but no result.
Code 2:
scatter(Q,h,'.','LineWidth',1);
line(Q,h,'Color','k','LineStyle','-','LineWidth',5)
hold on
Code1:
for Q = [0:1:100];
if h < h1
v_2 = ((Q/1000) / Area_Outlet1)
h = ((1 / (rho * g)) * (Patm2 - Patm1 + 0.5 * rho * (v_2^2 - v_1^2)) + h_f)*1000
else
v_2a = ((Q/1000) / Area_Outlet2)
h = h1 + ((1 / (rho * g)) * (Patm2 - Patm1 + 0.5 * rho * (v_2a^2 - v_1^2)) + h_f)*1000
end
plot (Q,h)
end
Any Help?

Accepted Answer

KSSV
KSSV on 5 Oct 2020
Edited: KSSV on 5 Oct 2020
q = [0:1:100];
h = zeros(size(q)) ;
for Q = 1:length(q)
if val < h1 % < --- think of this line
v_2 = ((Q/1000) / Area_Outlet1)
h(Q) = ((1 / (rho * g)) * (Patm2 - Patm1 + 0.5 * rho * (v_2^2 - v_1^2)) + h_f)*1000
else
v_2a = ((Q/1000) / Area_Outlet2)
h(Q) = h1 + ((1 / (rho * g)) * (Patm2 - Patm1 + 0.5 * rho * (v_2a^2 - v_1^2)) + h_f)*1000
end
end
plot (q,h)
  8 Comments
KSSV
KSSV on 5 Oct 2020
You want to save the output into a array h. So you have to update the value of h in the loop. The updated values of h should be comapred in the if else. You can see the code and relaize yourself where changes are made.
Thanks is accepting/ voting the answer. :)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by