Merhaba, aşağıda yazdığım kod ile çalışan durum bir sonra eklediğim, yine aynı şekilde çalışmasını beklediğim kod istediğim gibi çalışmamakta. ikinci kodda Tic hep 15 alarak işlem yapmakta; üçüncü kodda Tic hep 20 alarak işlem yapmakta; birinci kodda ise istenilen durumlar gibi 0(dahil) ve 7 arasında 15'den çıkartılacak; 7(dahil) ve 17(dahil) arasında 20'den çıkartılacak; 17 ve 23 (dahil) arasında 15'den çıkartılacak;
Bunlar 1 gün içinde 24 saat (0 dan başlayıp 23 e kadar)
tez hocam 3. kod gibi olsun istiyor fakat sorunu anlayamadım.
BİRİNCİ KOD
r=1; for k=1:length(isitilacak_saatler) if isitilacak_saatler(k,3)<7 && isitilacak_saatler(k,3)>= 0 hhd_saat(r,:)=[isitilacak_saatler(k,1),isitilacak_saatler(k,2),isitilacak_saatler(k,3),(15-isitilacak_saatler(k,4))]; end if isitilacak_saatler(k,3)>= 7 && isitilacak_saatler(k,3)<=17 hhd_saat(r,:)=[isitilacak_saatler(k,1),isitilacak_saatler(k,2),isitilacak_saatler(k,3),(20-isitilacak_saatler(k,4))]; end if isitilacak_saatler(k,3)> 17 && isitilacak_saatler(k,3)<=24 hhd_saat(r,:)=[isitilacak_saatler(k,1),isitilacak_saatler(k,2),isitilacak_saatler(k,3),(15-isitilacak_saatler(k,4))]; end r=r+1; end
İKİNCİ KOD
r=1; for i=1:length(tablo_tum_sic_ortalama) hhd_i=find(hdd_gun(:,1)==tablo_tum_sic_ortalama(i,1) & hdd_gun(:,2)==tablo_tum_sic_ortalama(i,2)); hhd_saat0=0; if hdd_gun(hhd_i,3)>=0 && hdd_gun(hhd_i,3)<7 Tic=15; end if hdd_gun(hhd_i,3)>=7 && hdd_gun(hhd_i,3)<=17 Tic=20; end if hdd_gun(hhd_i,3)>17 && hdd_gun(hhd_i,3)<=23 Tic=15; end hhd_saat(r,:)=[tablo_tum_sic_ortalama(i,1),tablo_tum_sic_ortalama(i,2),tablo_tum_sic_ortalama(i,3),hhd_saat0]; r=r+1; end
ÜÇÜNCÜ KOD
r=1; for i=1:length(tablo_tum_sic_ortalama) hhd_i=find(hdd_gun(:,1)==tablo_tum_sic_ortalama(i,1) & hdd_gun(:,2)==tablo_tum_sic_ortalama(i,2)); hhd_saat0=0; if hdd_gun(hhd_i,3)>=7 && hdd_gun(hhd_i,3)<=17 Tic=15; else Tic=20 end if Tic>tablo_tum_sic_ortalama(i,4) hhd_saat0=Tic-tablo_tum_sic_ortalama(i,4); end hhd_saat(r,:)=[tablo_tum_sic_ortalama(i,1),tablo_tum_sic_ortalama(i,2),tablo_tum_sic_ortalama(i,3),hhd_saat0]; r=r+1; end