Matrix dimensions must agree error problem

1 回表示 (過去 30 日間)
ibrahim alzoubi
ibrahim alzoubi 2021 年 8 月 2 日
編集済み: James Tursa 2021 年 8 月 2 日
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)

回答 (1 件)

James Tursa
James Tursa 2021 年 8 月 2 日
Use element-wise division with the dot:
Y=acosd(sin(altitude)*sin(latitude)-sin(declination)./(cos(altitude)*cos(latitude)));
  5 件のコメント
ibrahim alzoubi
ibrahim alzoubi 2021 年 8 月 2 日
I'm looking to gerate 2D matrix where w represents hours (24 hour)
James Tursa
James Tursa 2021 年 8 月 2 日
編集済み: James Tursa 2021 年 8 月 2 日
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?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLine Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by