Matrix dimensions must agree error problem

1 view (last 30 days)
Hello everyone, I'm trying to plot this Code but it gives me an error: Matrix dimensions must agree
How can I sove the problem?
number_of_the_yearly_day = 1:1:365;
declination=23.45*sin((2*pi*(number_of_the_yearly_day-80))/(365));
latitude=31.963158;
Zenith_angle=latitude-declination;
tilt_angle=Zenith_angle;
altitude=1-Zenith_angle;
T=0:1:24;
w=15*(12-T);
X=asind(sin(declination).*sin(latitude)+cos(latitude).*cos(declination).*cos(w));
Y=acosd(sin(altitude)*sin(latitude)-sin(declination)/(cos(altitude)*cos(latitude)));
plot (x,Y)

Answers (1)

James Tursa
James Tursa on 2 Aug 2021
Use element-wise division with the dot:
Y=acosd(sin(altitude)*sin(latitude)-sin(declination)./(cos(altitude)*cos(latitude)));
  5 Comments
ibrahim alzoubi
ibrahim alzoubi on 2 Aug 2021
I'm looking to gerate 2D matrix where w represents hours (24 hour)
James Tursa
James Tursa on 2 Aug 2021
Edited: James Tursa on 2 Aug 2021
Try turning the w part into a column vector and then use implicit expansion. E.g., cos(w'). Note that this results in X being a 2D matrix and Y being a 1D vector. Does that do what you want?

Sign in to comment.

Categories

Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!