MATLAB符号函数转换为数值函数是什么?

2024-12-03 14:09:40
推荐回答(1个)
回答1:

  1. 最简便的办法:利用 matlabFunction(这个函数只适用于2009a及更新的版本)
  syms x

  y=exp(x)*x^2+x+1

  g = matlabFunction(y)
  2. eval + vectorize 函数:vectorize 的目的是将字符串(string)表达式里的 * / ^ 替换为 .* ./ .^ ,以支持向量运算。eval 执行该字符串后得到函数句柄
  syms x

  y=exp(x)*x^2+x+1

  g = eval(['@(x)',vectorize(y)])
  3. str2func + vectorize 函数:str2func 函数可以直接将字符串转化为函数句柄
  syms x

  y=exp(x)*x^2+x+1

  g = str2func(['@(x)',vectorize(y)])
  4. str2num + vectorize
  syms x

  y=exp(x)*x^2+x+1

  g = str2num(['@(x)',vectorize(y)])