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

1 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Model Predictive Control Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by