Soru sorSIFIR SÜTUNLARI OLAN BİR MATRİSTE SIFIR SÜTUNLARI SİLDİRMEDEN HER SATIRIN MİNİMUM DEĞERİNİ BULMAK
zynparslanturk tarafından 7 yıl önce soruldu

for i=1:5; %Y'nin Satırlarını Değiştirecek
for s=1:6; %Cust'ın Satırlarını Değiştirecek
A(s,:,i)=Y(i,:).*Cust(s,:); %Çarpma İşlemini Yaparak Sonuçları A'da Depolayacak
end
end

A(:,:,1) =

0 0 6 7 0
0 0 8 4 0
0 0 14 5 0
0 0 21 16 0
0 0 8 7 0
0 0 9 6 0

A(:,:,2) =

2 3 0 0 0
0 5 0 0 0
11 6 0 0 0
19 18 0 0 0
3 9 0 0 0
4 7 0 0 0

A(:,:,3) =

2 3 0 7 0
0 5 0 4 0
11 6 0 5 0
19 18 0 16 0
3 9 0 7 0
4 7 0 6 0

A(:,:,4) =

0 3 6 7 1
0 5 8 4 12
0 6 14 5 8
0 18 21 16 13
0 9 8 7 10
0 7 9 6 0

A(:,:,5) =

2 3 6 0 0
0 5 8 0 0
11 6 14 0 0
19 18 21 0 0
3 9 8 0 0
4 7 9 0 0

Kendim birçok döngü oluşturmaya çalıştım ama yapamadım çünkü kendi kendime internetten öğrenmeye ve anlamaya çalışıyorum. Matlab bilgim çok zayıf.

for döngüsüyle elde edilen "A(:,:,i)"lerin her biri için döngü şeklinde sıfır sütunlarını sildirerek yada sildirmeyerek ama mutlaka döngü şeklinde, her satırın 0 değeri hariç minimjum değerini hesaplayıp A(k)da depolasın istiyorum.

A(k) ===> k=1 için; A(:,:,1)'nin her satırındaki 0 hariç minimum değerlerini toplasın,
min(6,7)+min(8,4)+min(14,5)+….. şeklinde.

Bu işlemi k=1:5'e kadar her matris için ayrı ayrı yapsın istiyorum.

Yine milyonlarca soru sormuş oldum.
Saygılarımla

2 Cevap
sayginer Yönetici tarafından 7 yıl önce cevaplandı

Merhaba,
Aşağıdaki örnek kodu inceleyebilirsiniz.
 

A(:,:,1) = [0 0 6 7 0;
0 0 8 4 0;
0 0 14 5 0;
0 0 21 16 0;
0 0 8 7 0;
0 0 9 6 0]
%MATLABTurkiye.com
SatirdaAra = 2; %Hangi satirda arasin?
ARA = A(SatirdaAra,:,1) % Burada arama yapilacak satiri aliyoruz
Minimum =min(ARA(ARA > 0)) %0dan buyuk en kucuk degeri buluyoruz
zynparslanturk tarafından 7 yıl önce cevaplandı

Çok teşekkür ediyorum.