Matrisler ile alakalı 2 sorum var

2 tane soru buldum matrislere çalışırken. Konusunda da eksiğim biraz ama bu sorulardan hiçbir şey anlamadım. Kimse sormadan söyleyim: okul dönemim bitti, derste verilen bir şey değil, sadece finale çalışıyorum ve hayır soru hakkında hiçbir şey yapamadım, anlatılırsa anlayabilecek kadar python da biliyorum.
Sorular şu şekilde:

İstedikleriniz numpy ile yapılabilir.

import numpy as np

matrix = np.array([[1, 0, 3],
                   [2, 0, 0],
                   [0, 0, 5]])

def arindir(matrix):
    # gerekli verileri saklamak için sözlük kullandım.
    matrix_data = {"values": [], "index": [], "shape": []}
    matrix_data.update({"values": matrix[matrix != 0]})
    # matrix_data["values"] = [1 3 2 5] olacaktır.
    matrix_data.update({"index": np.where(matrix != 0)})
    # matrix_data["index"] = ([0, 0, 1, 2], [0, 2, 0, 2]) şeklinde olacaktır.
    # ilk liste row numaraları, ikinci liste ise column numaralarıdır.
    matrix_data.update({"shape": matrix.shape})
    # matrix_data["shape"] = (3, 3) olacaktır.
    
    return matrix_data

def tersine_cevir(matrix_data):
    matrix = np.zeros(shape=matrix_data["shape"], dtype=int)
    # matrix = [[0 0 0], [0 0 0], [0 0 0]] şeklinde olacaktır.
    matrix[matrix_data["index"]] = matrix_data["values"]
    # matrix = [[1 0 3], [2 0 0], [0 0 5]] olacaktır.

    return matrix
    
matrix_data = arindir(matrix)
arindirilmis = matrix_data["values"]
print(f"Arındırılmış:\n {arindirilmis}")

tersine_cevrilmis = tersine_cevir(matrix_data)
print(f"Tersine çevrilmiş:\n {tersine_cevrilmis}")

arindir fonksiyonunun return ettiği şey sizin istediğiniz ile tam uyuşmuyor sanırım. Dilerseniz global değişken kullanarak istenen duruma getirebilirsiniz.

2 Beğeni

Çok teşekkürler. Deneyip anlamaya çalışacağım

1 Beğeni


Böyle bir hata alıyorum visual studio code da. Spyder’da hata almıyorum. Sebebi nedir?

numpy kütüphanesini pip aracılığıyla kurmanız gerekiyor.
Spyder bünyesinde numpy kütüphanesini de barındırdığı için orada sıkıntı yaşamıyorsunuz.
Fakat Visual Studio Code için sizin indirmeniz lazım.

CMD’yi çalıştırıp,
pip3 install numpy
yazıp Enter tuşuna basmalısınız.

1 Beğeni

Çok Çok teşekkür ederim :slight_smile:

1 Beğeni