matlab 报错:错误使用 solve>getEqns List of equations must not be empty; 出错 solve [eqns, vars, options]
solve() 函数的问题:朋友使用的 matlab 2019 ,我用的 matlab 2014b 。我跟他说了一种解方程组方式,但是 2019 版本已经不再适用。我帮助他解决了这个问题。
·
前言: 朋友使用的 matlab 2019 ,我用的 matlab 2014b 。我跟他说了一种解方程组方式,但是 2019 版本已经不再适用。我帮助他解决了这个问题。
他的 matlab 报错如下:
错误使用 solve>getEqns (line 418)
List of equations must not be empty.
出错 solve (line 226)
[eqns, vars, options] = getEqns(varagin[:]);
他的程序如下:
syms x y z
eq1 = 'x^2 + sin(y) - z = 100';
eq2 = 'x - y + z = 5';
eq3 = 'x * z + cos(y) = 6 * z';
[x, y, z] = solve(eq1, eq2, eq3, 'x', 'y', 'z');
问题出在:matlab 2019 中已经不接受向 solve 中传入字符串。我们需要对方程组改进如下:
- 为
eq赋值时去掉等号; - 将
表示公式的等式中的=改成==表示条件判断; - 在
solve中去掉符号的单引号。
即如下:
syms x y z
eq1 = x^2 + sin(y) - z == 100;
eq2 = x - y + z == 5;
eq3 = x * z + cos(y) == 6 * z;
[x, y, z] = solve(eq1, eq2, eq3, x, y, z);
完成。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)