Plot for different values

2 ビュー (過去 30 日間)
Luccas S.
Luccas S. 2021 年 8 月 15 日
編集済み: Luccas S. 2021 年 8 月 15 日
Hi, I'm trying to vary the value of Q but the values ​​aren't changing.
HfTOTAL = 26.8708
Hg = 30
Q = 0:50:450;
K = HfTOTAL./Q.^1.852
Hm = Hg + K.*Q.^1.852 % m
KQ = K.*Q.^1.852
plot(Q,Hm,'k','LineWidth',2)

採用された回答

Walter Roberson
Walter Roberson 2021 年 8 月 15 日
Just for fun, let is assign Q.^1.852 to a variable, say Q18
HfTOTAL = 26.8708
Hg = 30
Q = 0:50:450;
Q18 = Q.^1.852;
K = HfTOTAL./Q18;
So K is something divided by Q18
Hm = Hg + K.*Q18 % m
And there you take K times Q18. But Q is something divided by Q18, so except for loss of precision due to round-off error, or inf or nan effects, then K*Q18 is going to be the same as the something that was then divided by Q18. So
Hm = Hg + repmat(HfTotal, 1, length(Q));
but that's just a repeated constant
KQ = K.*Q18
Again that is just the same as repmat(HfTotal, 1, length(Q)); so it is just a repeated constant.
plot(Q,Hm,'k','LineWidth',2)
You plot the different Q values with the repeated constant on the Y axes.
  5 件のコメント
Walter Roberson
Walter Roberson 2021 年 8 月 15 日
Using a for loop will not help.
HfTotal = 6
HfTotal = 6
for Q = 1 : 3
K(Q) = HfTotal./Q
end
K = 6
K = 1×2
6 3
K = 1×3
6 3 2
for Q = 1 : 3
Hm(Q) = K(Q) .* Q
end
Hm = 6
Hm = 1×2
6 6
Hm = 1×3
6 6 6
The problem is that you are multipling by the exact same thing you are dividing by.
Luccas S.
Luccas S. 2021 年 8 月 15 日
編集済み: Luccas S. 2021 年 8 月 15 日
I found my mistake, silly thing.
I should be plotting as a function of the Q m³/h in a part I hadn't posted, and I was plotting as a function of the Q m³/s. Never that it was going to work.
Sometimes it's better to go for a walk and come back hahaha

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLine Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by