我刚刚开始使用Matlab,并且正在努力求解二次方程。我正在学习以下指南:
面向初学者和有经验的用户的Matlab指南
我试图解决本书提供的方程式(第17页)。尽管键入的内容与本书的指示完全相同,但我没有获得所需的输出。请注意,首先我尝试使用solve命令,其次使用fzero,但没有解决问题:
>> clear
>> syms x
>> solve ('x^2 - 2*x - 4 = 0')
Error using solve>getEqns (line 418)
List of equations must not be empty.
Error in solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});
>> fzero ('x^2 - 2*x - 4 = 0')
Error using fzero (line 121)
FZERO requires at least two input arguments or a structure
with valid fields.
我不明白使用solve命令后的修正“方程列表不能为空”。此外,当我尝试使用fzero命令时,我得到了“ FZERO至少需要两个输入参数或具有有效字段的结构”,但我都没有这样做。我寻找了替代方法,发现x可以放在括号中:
>> solve ('x^2 - 2*x - 4 = 0', x)
Error using solve>getEqns (line 418)
List of equations must not be empty.
Error in solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});
但是结果又出现了“方程列表一定不能为空”。 请考虑以下事实:我是一个初学者,并且我知道这个问题对您来说可能太明显了,但是我已经尝试了一段时间,无法解决。
谢谢
答案 0 :(得分:0)
基于以下链接,看来将您的方程式指定为字符串(字符向量)可能是您遇到的问题。 Equations and systems solver in MATLAB。在您的情况下,我将尝试以下操作:
clear
syms x
solve(x^2 - 2*x - 4 == 0, x);