Numpy funktioner och vektorer
Hej, jag jobbar med en laboration i beräkningsprogrammering och stöter på lite konstiga problem.
Detta görs i min kod på rad 8. Har jag gjort något fel? OBS: Min IDE gör automatiskt om funktionerna från lambda-form till def-form.
Görs på rad 12 i min kod. Exakt lika dant som de generöst nog visade i ledtråden.
Se rad 27 i min kod. OBS: x är alltså en vektor/lista med 100 element (mellan 0 och 10). Tanken är att jag på rad 27, precis som i ledtråden, ska skapa en ny vektor y0 som innehåller derivatan av g för varje värde i vektorn x.
Jag får istället ett error som säger att jag inte får addera en vektor med en float. Detta verkar visserligen rimligt i mina ögon, men uppgiftsbeskrivningen säger ju bokstavligen att jag ska göra såhär.
Vad gör jag för fel?
Jag kan inte heller anropa g(x) då x är en vektor. Jag får då error om att jag har försökt multiplicera -0.1 med x. Om jag däremot ändrar så att g(x) = (e^x)cosx så fungerar det. Det går alltså bara att anropa en funktion med en vektor som argument sålänge parametern inte adderas eller multipliceras med något. Hur ska man göra med 99% av funktioner där så är fallet?
Du bör nog konvertera din lista x till en numpy-array innan du gör något (x = np.array(x) ). Tex x+1 funkar bra om x är en numpy-array, men om x är en lista verkar den tolka + som konkatenering av listor, och om då h inte är en lista utan en float kommer det blir galet om du skriver x+h.
Hondel skrev:Du bör nog konvertera din lista x till en numpy-array innan du gör något (x = np.array(x) ).
Men herregud, detta löste ju allt! Vilken miss från min sida. Stort tack!!