Finding the gradient of the function

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);

1 件のコメント

DGM
DGM 2022 年 4 月 17 日
Edited to restore deleted question.

サインインしてコメントする。

 採用された回答

Star Strider
Star Strider 2022 年 4 月 14 日

0 投票

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 件のコメント

Amy Topaz
Amy Topaz 2022 年 4 月 14 日
Could you plot and show me the plot please
Star Strider
Star Strider 2022 年 4 月 14 日
編集済み: Star Strider 2022 年 4 月 14 日
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'.
.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLine Plots についてさらに検索

タグ

質問済み:

2022 年 4 月 14 日

コメント済み:

DGM
2022 年 4 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by