funktion med e som bas
Hejsan, jag ska skriva in i Python och använder mig av Numpy och Visual Studio Code. Det jag skriver in är "f= lambda x: np.exp(-1x/10)*emp.cos(x)" men får bara ut "invalid decimal literal". Vet någon hur jag ska skriva så det blir rätt?
Ja, -1x betyder ingenting i programmeringsspråk. Skriv -x i stället.
Det blir fortfarande fel :/
Precis samma fel? Hur skriver du nu?
Yes, blir samma fel. Har skrivit g(x)= lambda x: np.exp(-0.x)*emp.cos(x)
Tillägg: 17 nov 2022 17:08
Får också en pil på punkten (alltså där felet är) men vet inte hur man annars skulle göra
-0.x är inte heller något vettigt. Vad menar du med det?
Du kanske menar -0.1*x.
-x/10 borde också ha fungerat.
Laguna skrev:-0.x är inte heller något vettigt. Vad menar du med det?
Du kanske menar -0.1*x.
-x/10 borde också ha fungerat.
Ja precis, var så jag menade. Har testat att skriva på båda sätt men får fortfarande fel
Din rad (f = lambda x: np.exp(-x / 10.) * cos(x)) borde fungera. Det är korrekt python såvitt jag vet. Kan det vara så att det är 10 som spökar. Prova att skriva 10.0 i stället och om det är samma problem så lägg ut hela koden här så har vi lättare att förstå vad som händer.
Min kod ser ut såhär:
import numpy as np
f= lambda x: np.exp(-x/10.)*np.cos(x)
print (f)
Har testat att skriva 0.1*x, 10, 10., 10.0 osv
Det är inget fel på den koden, men jag tror problemet ligger i att du inte förstår vad det är du har gjort.
Du kan inte printa f. Du kommer endast få ut att det är en funktion av typen Lambda med en adress i hexadecimalt.
def f(x):
return np.exp(-x / 10.) * np.cos(x)
print(f(1))
Gör som ovan istället, det är ingen idé att rota sig ner i lambda.
Berätta vilka nya fel du får när du ändrar något. Om du inte gör det så förutsätter vi att det är samma fel som sist. Vi är inte tankeläsare.
Dracaena skrev:Det är inget fel på den koden, men jag tror problemet ligger i att du inte förstår vad det är du har gjort.
Du kan inte printa f. Du kommer endast få ut att det är en funktion av typen Lambda med en adress i hexadecimalt.def f(x): return np.exp(-x / 10.) * np.cos(x) print(f(1))
Gör som ovan istället, det är ingen idé att rota sig ner i lambda.
Måste tyvärr använda lambda på just denna (står med i uppgiften)
Laguna skrev:Berätta vilka nya fel du får när du ändrar något. Om du inte gör det så förutsätter vi att det är samma fel som sist. Vi är inte tankeläsare.
Det är fortfarande samma fel :(
Då har du något annat som spökar. Om jag kopierar dig så funkar det utmärkt.
f = lambda x: np.exp(-x / 10) * np.cos(x)
print(f(1))
Laura2002 skrev:Laguna skrev:Berätta vilka nya fel du får när du ändrar något. Om du inte gör det så förutsätter vi att det är samma fel som sist. Vi är inte tankeläsare.
Det är fortfarande samma fel :(
Hur ser koden ut nu, och vad blir felet?
Fick hjälp med den på en övning och hittade felet, tack för hjälpen :)