How can i put the values in gradient of a function obtained through the gradient command?

1 回表示 (過去 30 日間)
RADHIKA GOUR
RADHIKA GOUR 2018 年 11 月 30 日
編集済み: VBBV 2024 年 4 月 21 日
TT=[1 1 1 1];
syms p0 p1 p2 p3 p4;
f_function = log(noise+p1*TT(1)+p2*TT(2)+p3*TT(3)+p4*TT(4));
f_gradient = gradient(f_function,[p0, p1, p2, p3, p4]);
f_gradient = f_gradient.'
Here I got f_gradient function of p1,p2,p3, p4.
now i want to evaluate it by putting p0=2, p1=2,..likewise...
How can I do this.

回答 (1 件)

VBBV
VBBV 2024 年 4 月 21 日
編集済み: VBBV 2024 年 4 月 21 日
@RADHIKA GOUR, you can use subs and plug-in the values for p1,p2,p3, p4 variables.
TT=[1 1 1 1];
noise = randi([2 10]);
syms p0 p1 p2 p3 p4;
f_function = log(noise+p1*TT(1)+p2*TT(2)+p3*TT(3)+p4*TT(4));
f_gradient = gradient(f_function,[p0, p1, p2, p3, p4])
f_gradient = 
f_gradient = double(subs(f_gradient,{p1,p2,p3,p4},{2,2,1,4})) % give some values and use subs
f_gradient = 5x1
0 0.0714 0.0714 0.0714 0.0714
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

カテゴリ

Help Center および File ExchangeModel Predictive Control Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by