Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

Plot not showing both functions

조회 수: 1 (최근 30일)
cTroels
cTroels 2020년 2월 28일
마감: MATLAB Answer Bot 2021년 8월 20일
I have this function:
function [Gamma,Beta] = Vinkel2(Dag,Tid)
Tid = -12:1:12; % Let
Dag = [171 355];
Phi = 56.26992;
Omega = 15*Tid;
Delta1 = 23.45*sind(360*(284+Dag(1))/365);
Theta_z1 = acosd(cosd(Phi)*cosd(Delta1)*cosd(Omega)+sind(Phi)*sind(Delta1));
Gamma1 = Sign_Omega(Omega)*(acosd(((cosd(Theta_z1)*sind(Phi))-sind(Delta1))/(sind(Theta_z1)*cosd(Phi))));
Beta1 = Theta_z1;
plot(Tid, Beta1, Tid, Gamma1)
hold on
Delta2 = 23.45*sind(360*(284+Dag(2))/365);
Theta_z2 = acosd(cosd(Phi)*cosd(Delta2)*cosd(Omega)+sind(Phi)*sind(Delta2));
Gamma2 = Sign_Omega(Omega)*(acosd(((cosd(Theta_z2)*sind(Phi))-sind(Delta2))/(sind(Theta_z2)*cosd(Phi))));
Beta2 = Theta_z2;
plot(Tid, Beta2, Tid, Gamma2)
legend('Dag = 171','Dag = 355');
hold off
end
The plot shows Beta1 and Beta2, however Gamma1 and Gamma2 doesnt show.
I can calculate the correct values of gamma using this function, so why doesnt i show?
Futhermore, matlab tells me that my input and output arguments are unused.
Please help, i have no clue! :-)
  댓글 수: 4
cTroels
cTroels 2020년 2월 29일
Figured it out. I needed to use ./ instead of just /
Thank you for the help!
Adam
Adam 2020년 3월 2일
Just for info, not relevant to the problem at hand, but since it was mentioned
doc sign
will do what your Sign_Omega function does. Although you did name it well enough that I correctly guessed what it should do, which is always the sign of a well-named function!

답변 (0개)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by