How to tell matlab that y is a function of x; not a constant

1 view (last 30 days)
I have a function z such that z=xy(x) , [i.e. y is a function of x]. So if I differentiate z with respect to x, I shoud get dz/dx= y+x*(dy/dx). However if I use diff(z,x) in matlab, I get only y [matlab treats y as a constant]. What should I do to define y as a function of x?
syms x y z
z=x*y;
diff(z,x)
ans =
y

Accepted Answer

Star Strider
Star Strider on 7 May 2021
In the initial syms call, declare ‘y(x)’ instead of ‘y’
syms x y(x) z
z=x*y;
Dz = diff(z,x) % Create Assignment
Dz(x) = 
Note that now ‘Dz’ is also a funciton of ‘x’, as it should be.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!