フィルターのクリア

Plot a 2 y axis graph

3 ビュー (過去 30 日間)
Anders Vigen
Anders Vigen 2021 年 2 月 7 日
回答済み: Srivardhan Gadila 2021 年 2 月 10 日
% Induction Factor
syms C_T C_P V D S E
idx = 0;
for a=(0:0.05:0.3333333)
idx = idx + 1;
C_T(idx)=4*a*(1-a)*etaTipLoss
C_P(idx) =4*a*(1-a)^2*etaTipLoss*etaDrag
% Car top speed formula
eqn(idx) = (C_P(idx)*etaTrans)/(C_T(idx)+(Ac/A)*CD+((M*g*fr)/((0.5*rho*Vinf^2*(1+V/Vinf)^2)*A))-C_P(idx)*etaTrans) == V/Vinf
S = double(solve(eqn(idx),V,"Real",true))
% V/Vinf
D = (S/Vinf)
end
plot([0:0.05:0.3333333],S,"-r")
hold on
yyaxis right
plot([0:0.05:0.3333333], D, "-.b")
hold off
I can't get the plot I want. I need to show my results for S and D where I want two y axis, because S and D dont have the same units. I hope there is someone that can help me correct my script.

採用された回答

Srivardhan Gadila
Srivardhan Gadila 2021 年 2 月 10 日
Refer to the documentation of yyaxis for more information. I was getting two Y-axes when I tried your code:
x = 0:0.05:0.3333333;
S = rand(size(x));
D = rand(size(x))/2;
% yyaxis left
plot(x,S,"-r")
hold on
yyaxis right
plot(x, D, "-.b")
hold off
If you want to set the same limits for both the Y-axes then you can try as below:
plot(x,S,"-r")
hold on
yleftLimits = get(gca,'ylim')
yyaxis right
plot(x, D, "-.b")
set(gca,'ylim',yleftLimits)
hold off
If this is not the issue you are facing, can you clearly state your issue with an example.

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by