您好,感谢您阅读本文: 这个问题是关于Matlab的:
我需要整合两个变量的表达式
w1=subs(diff(K,Y1),{Y1,Y2},{0.2,0.3})
其中 K 定义为句柄函数:
K=@(X1,X2,Y1,Y2)...
所以 w1 是两个变量的“函数” 但 Matlab 这么说
''输入参数的未定义函数或方法“matlabfunction” 输入“符号”“
”
如果我要 K 或 w1
which w1
Matlab 返回
''w1 是一个变量''
当我使用 dblquad 时,错误消息是
''如果 FUN 是 MATLAB 对象,它必须有一个 feval 方法。''
我知道Matlab是正确的,但是我怎样才能获得w1在单位平方中的(双)积分?
我尝试了很多东西,但我不明白。
有人可以帮助我吗?
我不完全确定代码中的哪些变量被定义为符号,但这是一个最小的示例。
假设我有一个这样的函数句柄:
x = @(t, a) t*a*a;
如果我定义:
syms t a;
我可以在替换代码中的值时获得符号导数:
f = subs(diff(x(t, a), a), a, 3);
请注意,
f
现在是一个符号变量。要将此变量转换为函数句柄,您可以使用 matlabFunction,如下所示:
fun = matlabFunction(f);
希望这有帮助。