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

如何在Scilab中对函数单变量求值并生成新函数

在Scilab中固定二元函数的一个变量得到单变量表达式

我完全懂你想要的效果——把一个二元函数固定其中一个变量,得到只关于另一个变量的代数表达式。你原来用deff定义的是数值函数,这类函数需要传入具体的数值参数,直接传未定义的y会报错,所以得切换到Scilab的符号计算功能来实现你的需求。

解决方案:用符号变量与替换函数实现

以下是具体的操作步骤:

  • 先定义符号变量x和y,告诉Scilab我们要处理代数表达式而非数值
  • 写出函数的符号表达式形式
  • 用subs()函数固定其中一个变量的值,得到目标表达式
// 定义符号变量
syms x y

// 定义二元函数的符号表达式
F = x^2 - 3*y^2 + x*y^3;

// 固定x=4,得到仅关于y的表达式
result = subs(F, x, 4);

// 输出结果
disp(result);

运行这段代码后,你会得到预期的输出:16 - 3*y² + 4*y³。

额外技巧:封装成可复用函数

如果你想把这个逻辑封装成类似原fun的可调用函数,可以这么写:

deff('[expr] = fixed_var_fun(fixed_x)', 'syms y; expr = subs(x^2 - 3*y^2 + x*y^3, x, fixed_x);');

// 调用示例:固定x=4
fixed_var_fun(4);

这样每次调用fixed_var_fun(数值)就能直接得到对应变量固定后的单变量表达式啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:31:54