A=10*rand(5,6);
[a0,b0]=max(A);
[a1,b1]=max(a0);
Burada max değer olan a1 değerini max ifadesi olmadan (for, if ile) nasıl yazabilirim?
Ve random olan A matrisinde max değerin hangi satır ve sütunda olduğunu nasıl gösterebilirim? Bu işlemi "max" ifadesi kullanmadan yazabilir miyim?
1 Cevap
Yapmak istediginiz islem cok fazla is yuku gerektiriyor. Asagida sadece 1. sutun icin bu isi yapabilen ornegi inceleyebilirsiniz. Istediginiz mantiktaki kodu gelistirebilmek icin paylastigim ornekteki sutun numaralarini da for dongusu icerisine almalisiniz.
Kolay gelsin
A=10*rand(5,6) %Rastgele bir matris olusturuyorum [m n] = size(A); %Bu matrisin boyutunu aliyorum sutun = 1; %Bunu simdilik 1 yaptim, Sadece 1. sutun icin yapiyorum. Ancak butun matrisi taramak icin bunu da tum sutunlar icin degistirmeliyim EnBuyuk = A(1,1) %1. satir 1. sutunu en buyuk olarak kabul ettim for satir = 1:m-1; %Butun satirlari tek tek kontrol edecegim if A(satir,sutun)> A(satir+1,sutun) %Benim varsayim enbuyuk degerim kosulu sagliyor mu? - EnBuyuk = A(satir,sutun); %Eger n. satir n+1'den buyukse onu en buyuk deger yap else EnBuyuk = A(satir+1,sutun) %Eger n. satir n+1den buyuk degilse n+1'i en buyuk al end end