hey gays ive written a code @ it dosent have an error but it doesnt plot what i want what can i do with this ?
clear
t=16;
d=23;
M=5;
N1=floor(((275*(1/M))-30+d)-2);
s1=23.45*sind((360/365)*(284+(N1+2)));
l=35.44;
B=(N1-81)*360/364;
h=0.25*(t-12)*60;
z(1)=0;
while z<pi
z=0.1+z;
x=sin(l)*sin(s1)*cos(B)-cos(l)*sin(s1)*sin(B)*cos(z)+cos(l)*cos(s1)*cos(h)*cos(B)+sin(l)*cos(s1)*cos(h)*sin(B)*cos(z)+cos(s1)*sin(h)*sin(B)*sin(z)
theta=acos(x)
plot(theta,z)
end

6 commentaires

Bob Thompson
Bob Thompson le 8 Avr 2019
It looks like theta and x are both single values, so your results will just be a series of points. Matlab doesn't usually show points of lines in a very obvious manner. Are you sure it isn't plotting, and the problem is just not the visibility. You can test this by changing the format of the points of the plot.
Alex Mcaulley
Alex Mcaulley le 8 Avr 2019
What do you want to plot? In this code you are plotting one point (the last value of theta, z)
Bob Thompson
Bob Thompson le 8 Avr 2019
Also, as Alex mentioned, you are currently only plotting the last point of theta and x. Put 'hold on' before the while loop if you want to plot all points.
fatemeh jan
fatemeh jan le 8 Avr 2019
i used hold on and no change
fatemeh jan
fatemeh jan le 8 Avr 2019
i want to plot(theta,z) with 0< z<pi and theta they result
fatemeh jan
fatemeh jan le 8 Avr 2019
i used plot(theta,z,'*') and it worked :D

Connectez-vous pour commenter.

 Réponse acceptée

Alex Mcaulley
Alex Mcaulley le 8 Avr 2019

0 votes

Then, you simply need this:
t=16;
d=23;
M=5;
N1=floor(((275*(1/M))-30+d)-2);
s1=23.45*sind((360/365)*(284+(N1+2)));
l=35.44;
B=(N1-81)*360/364;
h=0.25*(t-12)*60;
z = 0:0.1:pi;
theta = acos(sin(l)*sin(s1)*cos(B)-cos(l)*sin(s1)*sin(B)*cos(z)+cos(l)*cos(s1)*cos(h)*cos(B)+sin(l)*cos(s1)*cos(h)*sin(B)*cos(z)+cos(s1)*sin(h)*sin(B)*sin(z));
plot(theta,z)

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by