[q]
(3) 

Matlab sorusu

mungojerry #1252654
i.hizliresim.com

"eleman değerleri [-4 9] aralığında sıfıra doğru yuvarlanmış tam sayılar olan rastgele bir A matrisi oluşturma" kısmını çözemedim.

diğer soruda da B matrisi oluşturmayı yapamadım.

 

1. A=unidrnd(14, [5,5])-5;

2.
B=ones(5)*4;
for i=1:5
B(i,i)=2*i-1;
end

aychovsky

teşekkürler, ilki tam istenileni verdi ama niye alakasız sayılar kullanıyoruz onun mantığını çözemedim.
diğeri için ise şöyle bir cevap buldum;
B=diag(-3:2:5)+4
tam istenileni veriyor. senin yazdığın 5 matris oluşturdu. ayrıca bunda da niye -3:2:5 yazıyoruz soruda istenilen ile alakası yok?

mungojerry

Benim yazdigim 5 matris olusturmuyor ama for dongusunun her adiminda B matrisini degistiriyor.B(i,i)=2*i-1 kismina noktali virgul koymadiysaniz for dongusunun her elemaninda matrisin nasil degistigini gozlemlersiniz. Sonucta tek bir degiskeniniz ve tek bir matrisiniz olur. 5 ayri matris olmaz.
i.hizliresim.com

Sizin yolunuz daha kisa ve tek satirlik. diag kullanmak gelmemisti aklima. Ikisi de ayni matrisi olusturur ama diag cok daha kisa ve kesirme.

-diag komutu sadece kosegenleri doldurur. Dolayisiyla diger elemanlari 0 kalir.
i.hizliresim.com
Ornegin burada 1 ile 9 arasi ardisik tek sayilari bulduk ama kosegen disindaki elemanlar 0, onlarin 4 olmasi gerekiyordu.
- Kosegen disinda diger elemanlarin degerini doldurmak isin 4 ile toplamaniz gerekiyor. Toplayinca soyle bir matris elde ediyoruz
i.hizliresim.com
Bu sefer de kosegendeki elemanlar 5 ile 13 arasinda degisti.
- Bu durumda, 4 ile topladigimizla kosegendeki elemanlarin 1 3 5 7 9 olmasi gerekiyor. 4 ile topladigimizda 1 3 5 7 9 olacak sayilar ise -3 -1 1 3 5. Yani -3'ten 5'e ikiser ikiser artiyor. Bu yuzden B=diag(-3:2:5)+4 diyoruz ki, 4'le toplandiginda istenilen sayilari versin.

aychovsky
1

mobil görünümden çık