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 中查找有关 Symbolic Math Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by