Differentiating a Symbolic Function
    37 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Ammar Taha
 el 9 de Abr. de 2021
  
    
    
    
    
    Comentada: Star Strider
      
      
 el 9 de Abr. de 2021
            If I have the following symbolic function:
syms f(x,y)
f(x,y) = 2*x^2 + y;
When I try to diff. this function w.r.t. (x) I get:
d = diff(f,x)
d(x, y) =
4*x
Which is a function in both x, and y NOT in (x) only. 
How can I perform this and get the real exsisting function input only "i.e. (x) only here"?
0 comentarios
Respuesta aceptada
  Star Strider
      
      
 el 9 de Abr. de 2021
        That is the corrct result, since diff is taking the partial derivative with respect to ‘x’ only, and ‘y’ is considered a constant.  
To get the derivatives of ‘f’ with respect to both variables, use the jacobian function: 
jf = jacobian(f)
producing: 
jf(x, y) =
[4*x, 1]
4 comentarios
Más respuestas (1)
  Chendi Lin
    
 el 9 de Abr. de 2021
        Hi Ammar,
Without explicitly defining the differentiation variable, "diff" uses the default variable, which is "x" in your case.
To get both derivatives, you can do
[diff(f(x,y),x) diff(f(x,y),y)]
And this should give you the correct result.
Please refer to this document: Differentiate symbolic expression or function - MATLAB diff (mathworks.com)
Thanks.
CD
Ver también
Categorías
				Más información sobre Calculus en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!