Merhaba,
4 sütun-8784 satırlık bir matriste ( sütunlar ay-gün-saat-sıcaklık) her gün 24 saat olacak şekildedir (her gün, 24 saat için satırlarda 24 defa tekrarlanmakta, aylar ise 24×12 defa tekrarlanmakta) İstediğim bu matristeki bazı günlerin çıkartılması (buna bağlı aylar da çıkacak haliyle) ve 2 sütunlu(ay-gün)-231 satırlık matrise uygun hale gelmesi( bu matriste saatler ve sıcaklıklar yok. 2 sütunlu matris olması gereken ay ve günleri içeriyor)
örnek olarak aşağıda 1. ay-1. gün için 24 saatlik sıcaklık verileri mevcut.
ay gün saat sıcaklık
1
1
0
-4,85
1
1
1
-4,98
1
1
2
-5,00
1
1
3
-5,22
1
1
4
-5,43
1
1
5
-5,50
1
1
6
-5,07
1
1
7
-3,88
1
1
8
-2,16
1
1
9
-0,39
1
1
10
0,45
1
1
11
0,97
1
1
12
1,63
1
1
13
1,93
1
1
14
1,34
1
1
15
0,14
1
1
16
-0,32
1
1
17
-0,58
1
1
18
-0,87
1
1
19
-1,18
1
1
20
-1,72
1
1
21
-2,40
1
1
22
-2,99
1
1
23
-3,13
Aşağıda da 2 sütunlu olan olması gereken ay ve günleri gösteren matrisin bir parçası var(görüldüğü gibi 5. aydan 9. aya atlanmakta arada ayı ayın bazı günleri de yok-9. ayın sadece 24 ve 30. günleri mevcut) 4 sütunlu matris olması gereken 2 sütunlu matristeki ay ve günlere uygun hale getirilecek. 4 sütunlu matristen fazla ay ve günler çıkartılacak. 4 sütunlu(ay-gün-saat-sıcaklık) ve ( 231×24) satırlı bir matris haline gelecek
ay gün
5
14
5
25
5
26
9
24
9
30
10
1
10
2
10
3
10
4
Çok uğraştım fakat sonuca ulaşamadım.
Bu sorunun bir benzerini bu bağlantıda yanıtlamıştım:https://matlabturkiye.com/soru-sor/zamana-bagli-bir-veriyi-parcalar-bolerek-grafigini-cizdirmek
Sizin probleminize göre modifiye edilmiş örneği de aşağıdaki gibi paylaşıyorum.
clear, clc TumVeri = [linspace(0,20,20)' rand(20,1)]; % Yukarida, Ilk sutun zaman, ikinci sutunu veriyi temsil eden, rastgele bir veri seti olusturalim. % Dipce: Verisetimiz toplam 20 elemandan olusuyor. m = 5; % Kacar kacar gruplayalim? % Onemli: m degeri Veriseti uzunlugumuzun tamsayi kati olmali ki esit araliklarla bolebilelim for i = 1:20/m %Toplam verimizi kac parcaya ayiriyoruz? Bitis = i*m; % Her parcanin son element numarasi Baslangic = Bitis-(m-1); %Her parcanin ilk element numarasi Zaman = TumVeri(Baslangic:Bitis,1); VeriParcasi = TumVeri(Baslangic:Bitis,2); ParcalanmisVeriler(i).Parca = [Zaman VeriParcasi] end ParcalanmisVeriler(1).Parca %1. Parca
Merhaba,
Çok basite indirgeyecek olursak eğer,
3 sütun veriniz var ve örneğin 1. sütündaki 4-7 arası sütünları çıkartmak istiyorsunuz ayni zamanda 2. ve 3. sütundaki 4-7 arasındaki verileri de çıkartmak istiyorsunuz. Doğru mu anladım acaba?
Bu soruma çözüm bulabildim teşekkürler.
Hesaplamaların devamında başka bir sorunla karşılaştım bunu sormak isterim. 4 sütunlu bir matriste 4. sütundaki verileri peşpeşe gelen 24 lü satırlar halinde toplamak ve yeni bir matris oluşturmak istiyorum. Daha açarsam, ay-gün-saat-sıcaklık şeklinde 4 sütun ve 5544 satırlık veriler mevcut. her gün 24 saatten oluşmakta. örneğin 1. ay 1. gün 1. saat 10 derece (1 1 1 10) ikinci sütun da (1 1 2 8) 1. ay 1. gün 2. saat 8 derece şeklinde devam ediyor. Saatlik olarak bulunan sıcaklık verilerini toplayarak ay-gün- sıcaklık şeklikde 3 sütunlu günlük sıcaklık verileri yapmalıyım. Yalnız, yılın hergünü için veri yok sadece 231 gün için 231×24=5544 adet veri var. Hangi günler varsa o günler için hesap yapılmalı, sonuçta 3 sütunlu, 231 satırlı bir veri oluşması gerekiyor.