Jestem na mojej przejściowej podróży z MATLAB do scipy (+ numpy) + matplotlib. Wciąż mam problemy przy wdrażaniu niektórych rzeczy. Chcę utworzyć prostą tablicę wektorową w trzech różnych częściach. W MATLAB zrobiłbym coś takiego:tworzenie niewidocznych tablic z sekwencją
vector=[0.2,1:60,60.8];
Powoduje to jednowymiarową tablicę 62 pozycji. Próbuję wprowadzić to za pomocą scipy. Najbliżej jestem teraz to:
a=[[0.2],linspace(1,60,60),[60.8]]
Jednak ten tworzy listę, a nie tablicy, a więc nie mogę przekształcić go do tablicy wektora. Ale potem, kiedy to zrobić, pojawia się błąd
a=array([[0.2],linspace(1,60,60),[60.8]])
ValueError: setting an array element with a sequence.
wierzę mój Główną przeszkodą jest to, że nie mogę dowiedzieć się, jak przetłumaczyć tę prostą operację w programie MATLAB:
a=[1:2:20];
do NumPy . Wiem, jak to zrobić, aby uzyskać dostęp do pozycji w tablicy, ale nie podczas tworzenia sekwencji. Każda pomoc zostanie doceniona, dzięki!
dzięki Doug! To jest bardzo fajne, a to dwie postacie, które mają być tak kompaktowe jak Matlab. wspaniały! – lllllll
@ vint-i-vuit bez problemu. Jeśli moja odpowiedź była dla ciebie pomocna, zaznacz ją jako "zaakceptowaną", klikając "znacznik wyboru" widoczny po kliknięciu myszą w wynik w lewym górnym rogu mojej odpowiedzi. (Lub jeśli inna odpowiedź była bardziej pomocna, oczywiście będziesz chciał zaznaczyć ten jeden). Tak, to jeszcze dwie postacie, ale myślę, że warto, aby NumPy mógł mieć jedną funkcję dla każdej z dwóch osi, aby się połączyć (r_ i c_). – doug
nie wiedziałem o tym, tak!Wiele się nauczyłem ze wszystkich stanowisk, wszystkie działają tak, jak chciałem, ale prawdopodobnie twój jest najbliższy MATLAB-owi. dziękuje za wszystko! – lllllll