You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在指定点评估向量值函数、梯度向量及原函数?求适用命令

在指定点评估向量值函数(梯度)与原函数的MATLAB操作

我来帮你一步步搞定这两个操作,其实用MATLAB的subs函数就能轻松处理,不管是标量函数还是向量值函数都适用:

1. 评估梯度向量grd_f在(x=1, y=2)处的值

首先得先定义好符号变量和梯度向量,然后用subs同时替换多个变量即可:

% 定义符号变量x和y
syms x y
% 定义梯度向量(这里用分号实现列向量,或者用转置符号'也可以)
grd_f = [2*x; 2*y];
% 在指定点替换变量:把{x,y}分别替换成{1,2}
grd_f_eval = subs(grd_f, {x, y}, {1, 2});

执行后,grd_f_eval会得到结果[2; 4],就是梯度在(1,2)处的取值。

2. 评估原函数f(x,y)在(x=1, y=2)处的值

操作逻辑和梯度完全一致,同样用subs函数替换变量:

% 定义原函数
f = x^2 + y^2;
% 替换变量并计算
f_eval = subs(f, {x, y}, {1, 2});

执行后f_eval会得到结果5(也就是1²+2²=5)。

额外小技巧

如果你之后需要反复评估不同点,也可以把函数转换成匿名函数,调用起来更快捷:

% 把符号函数转成匿名函数
f_anon = matlabFunction(f);
grd_f_anon = matlabFunction(grd_f);
% 直接调用匿名函数
f_eval = f_anon(1,2); % 输出5
grd_f_eval = grd_f_anon(1,2); % 输出[2;4]

内容的提问来源于stack exchange,提问作者BAYMAX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:31:50