Matrix dimensions must agree error problem

2 Ansichten (letzte 30 Tage)
ibrahim alzoubi
ibrahim alzoubi am 2 Aug. 2021
Bearbeitet: James Tursa am 2 Aug. 2021
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)

Antworten (1)

James Tursa
James Tursa am 2 Aug. 2021
Use element-wise division with the dot:
Y=acosd(sin(altitude)*sin(latitude)-sin(declination)./(cos(altitude)*cos(latitude)));
  5 Kommentare
ibrahim alzoubi
ibrahim alzoubi am 2 Aug. 2021
I'm looking to gerate 2D matrix where w represents hours (24 hour)
James Tursa
James Tursa am 2 Aug. 2021
Bearbeitet: James Tursa am 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?

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by