Undefined function or variable 'a'.
在使用fsolve和fzero,各种使用不成,求解的函数很复杂,但类似于上面提出的简单方程,里面有之前定义的常数字母,但是这个字母我有需要 求方程的时候,用程序给他赋值,所以不能直接将a的值带进去。求大神帮忙啊,都搞了一天了,这俩函数搞不定。
出错原因:
按照下面的调用方式
fzero('a*x^2-4',1)传递给fzero函数的只是一个字符串,与变量a的值没有任何关系。字符串在fzero中进行预处理,会被转换成一个inline函数,该函数包含x和a两个变量,而x被视为求零点的主变量,在迭代计算过程中自动调整取值,但a属于未知量,所以会提示a未定义。
解决方法:
定义x为符号变量,然后把sym类型的方程转为字符串或inline函数再调用fzero求解。
示例:
>> syms x