Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

i should only count the shadow if ashadow>15, how do i do that? also the lengthofshadow only changes for the day number and not the minute of the day, how to solv this?

1 Ansicht (letzte 30 Tage)
close all
clear all
h=[1:24];%hours in day
m=[1:14400];%minutes in day
n_param=5;
n=[1:365];%days in year
az=0.0001; % degrees %a=0,001 , because a is near zero during sunrise and sunset.
ndec=355; %21 december is de 335e dag van het jaar
njul=202; %21 juli is de 202e dag van het jaar
p=52.3667; %altitude amsterdam
heigthblock=25; %heigth of the block in mETER
sino=zeros(1,365);
max_loops = 100;
for N=n
[n,h]=meshgrid(n,h);
wh=(h+12)*(pi/12); %OPDRAcht 4
sinoaz=-23.45*(pi/180)*cos(((2*pi)/365)*(10+n));
oaz=asin(sinoaz);
sinashadow=cos(oaz).*cosd(wh).*cosd(p)+sinoaz.*sind(p);
ashadow=asin(sinashadow);
%sinAshadow=(sind(wh).*cos(oaz))/sinashadow;
%Ashadow=asind(sinAshadow);
%Tan(a)=overstaande/aanliggende=height block/lenth shadow
%lenth shadow=heigth block/Tan(a)
lenthofshadow=heigthblock./(tan(ashadow));
surf(n,h,lenthofshadow)
while 15<ashadow||ashadow
n_loop=n_loop+1;
if (n_loop >= max_loops)
disp('exceeded max number of loops')
break
end
end
end

Antworten (0)

Diese Frage ist geschlossen.

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by