How to create matrix using for loop and if statment

2 ビュー (過去 30 日間)
ibrahim alzoubi
ibrahim alzoubi 2021 年 8 月 3 日
回答済み: KSSV 2021 年 8 月 3 日
How Can I create for loop to fix "Matrix dimensions must agree." problem by picking a number from range 1 to 24 and simulate it.
clc
clear all
number_of_the_yearly_day = 1:1:365; %n
T=1:1:24;
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; %?
w=15.*(12-T);
Y=acosd(sin(altitude).*sin(latitude)-sin(declination)./(cos(altitude).*cos(latitude)));
X=asind(sin(declination).*sin(latitude)+cos(latitude).*cos(declination).*cos(w));
plot (X,Y)
when I simulate this it gives me "Matrix dimensions must agree.".

回答 (1 件)

KSSV
KSSV 2021 年 8 月 3 日
number_of_the_yearly_day = 1:1:365; %n
T=1:1:24;
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; %?
w=15.*(12-T);
[declination,w] = meshgrid(declination,w) ;
Y=acosd(sin(altitude).*sin(latitude)-sin(declination)./(cos(altitude).*cos(latitude)));
X=asind(sin(declination).*sin(latitude)+cos(latitude).*cos(declination).*cos(w));
plot(X',Y')

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by