将 dsolve 的输出转换为函数

convert output of dsolve to function

如何将作为微分方程解的表达式转换为函数?

syms T(x)
ode = diff(T,x,2) + 0.002*(20 - T) == 0;
dsolve(ode, T(0) == 40, T(10) == 200)

dsolve 的输出是变量 x 中的一个表达式。我需要把它改成函数。

dsolve 的输出上调用 matlabFunction 以将符号表达式转换为函数句柄:

syms T(x)
ode = diff(T,x,2) + 0.002*(20 - T) == 0;
s = dsolve(ode, T(0) == 40, T(10) == 200);
f = matlabFunction(s);

这会生成 f 作为 anonymous function 的句柄。