3 svar
268 visningar
Johanspeed behöver inte mer hjälp
Johanspeed 226
Postad: 28 jan 2020 17:39

Beräkning av partiella derivator i mat lab

Förstår ej varför jag inte kan få fram något värde på den anonyma funktionen derivata jag skapar i koden. Jag är inte intresserad av svar av folk som menar att jag bör använda inline, en påläst person förstår att det inte är något alternativ i framtiden.

Tack på förhand

SaintVenant 3956
Postad: 28 jan 2020 18:58 Redigerad: 28 jan 2020 18:59

Problemet ligger i din definition av funktionen, skriv så här istället:

clear
syms x y
z(x,y) = x*y^2 + x^3;
diff(z(x,y),x)
derivata = diff(z,x)
derivata(2,5)

Johanspeed 226
Postad: 28 jan 2020 20:11
Ebola skrev:

Problemet ligger i din definition av funktionen, skriv så här istället:

clear
syms x y
z(x,y) = x*y^2 + x^3;
diff(z(x,y),x)
derivata = diff(z,x)
derivata(2,5)

Ja, tack! Jag trodde @(x, y) behövde användas när man skulle skapa en funktion i en mat lab fil, dvs om man inte använder 'function' för att definera en funktion. Jag förstår dock fortfarande inte varför inte mitt sätt går. 'derivata' borde ju bli en funktion av två variabler till derivatan av z. Vad är det jag missar?

SaintVenant 3956
Postad: 28 jan 2020 22:10

Det bör ha med hur du kopplade din function_handle felaktigt genom att beskriva en funktion som anropas (diff-funktionen) som argument. Det bildar ett slags knepigt nästat anropsschema som jag inte tror att matlab-syntax kan begripa.

Om du vill ha ett ordentligt svar får du fråga här:

stack overflow

Om du har ett MathWorks konto (kan skapas med universitets-mailen) skriv din fråga här:

Matlab Central

Svara
Close