Finding the gradient of the function

2 views (last 30 days)
I need to find the gradient (differentiation) of the below function k1 wrt a11 for the values of z1 and plot with respect a11.
z1 = [0.00008 0.009]';
a11 = -2:0.002:2;
k1 = atan(((0.02 + a11)./z1)) + atan((0.03 - a11)./z1);

Accepted Answer

Star Strider
Star Strider on 14 Apr 2022
Symbolically —
syms a11 z1
sympref('AbbreviateOutput',false);
k1 = atan(((0.02 + a11)./z1)) + atan((0.03 - a11)./z1)
k1 = 
grad_k1 = gradient(k1)
grad_k1 = 
grad_k1_fcn = matlabFunction(grad_k1)
grad_k1_fcn = function_handle with value:
@(a11,z1)[1.0./(z1.*(1.0./z1.^2.*(a11+1.0./5.0e+1).^2+1.0))-1.0./(z1.*(1.0./z1.^2.*(a11-3.0./1.0e+2).^2+1.0));-(1.0./z1.^2.*(a11+1.0./5.0e+1))./(1.0./z1.^2.*(a11+1.0./5.0e+1).^2+1.0)+(1.0./z1.^2.*(a11-3.0./1.0e+2))./(1.0./z1.^2.*(a11-3.0./1.0e+2).^2+1.0)]
.
  2 Comments
Amy Topaz
Amy Topaz on 14 Apr 2022
Could you plot and show me the plot please
Star Strider
Star Strider on 14 Apr 2022
Edited: Star Strider on 14 Apr 2022
Sure!
syms a11 z1
sympref('AbbreviateOutput',false);
k1 = atan(((0.02 + a11)./z1)) + atan((0.03 - a11)./z1)
k1 = 
grad_k1 = gradient(k1)
grad_k1 = 
grad_k1_fcn = matlabFunction(grad_k1)
grad_k1_fcn = function_handle with value:
@(a11,z1)[1.0./(z1.*(1.0./z1.^2.*(a11+1.0./5.0e+1).^2+1.0))-1.0./(z1.*(1.0./z1.^2.*(a11-3.0./1.0e+2).^2+1.0));-(1.0./z1.^2.*(a11+1.0./5.0e+1))./(1.0./z1.^2.*(a11+1.0./5.0e+1).^2+1.0)+(1.0./z1.^2.*(a11-3.0./1.0e+2))./(1.0./z1.^2.*(a11-3.0./1.0e+2).^2+1.0)]
figure
hfs = fsurf(grad_k1, [-1 1 -1 1]*4, 'MeshDensity',75);
hfs(1).EdgeColor = 'interp'; % Optional
hfs(2).EdgeColor = 'interp'; % Optional
EDIT — (14 Apr 2022 at 13:22)
Changed (increased) 'MeshDensity'.
.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!