【方法】Matlab求解方程,带参数,方程组,不等式(2021更新)

最想说的一句话:要查matlab用法,一定要到官网去查,一些用法matlab官方是在不断更新的,现存的一些办法已经无法解决问题

使用的是 solve 这个函数,官网说明链接
它拥有解决优化问题,解方程的功能,下面我将举一些常用的例子

一、解单变量方程

题目:求解方程
2 x + 1 = 0 2x+1=0 2x+1=0

syms x
eqn = 2*x + 1 == 0;
x = solve(eqn, x)

二、解多变量方程

题目:求解方程
{ x 2 + y 2 = 5 x − y = 1 \begin{cases} x^2 + y^2 = 5 \\ x - y = 1 \end{cases} {x2+y2=5xy=1

syms x y
eqns = [x^2 + y^2 == 5, x - y == 1];
vars = [x y];
[x, y] = solve(eqns, vars)

三、解带参数方程

题目:求解方程
a x 2 + b x + c = 0 ax^2 + bx + c = 0 ax2+bx+c=0

syms a b c x
eqn = a*x^2 + b*x + c == 0;
x = solve(eqn, x)

四、解不等式

题目:求解不等式
{ x > 0 y > 0 x 2 + y 2 < 1 \begin{cases} x > 0 \\ y > 0 \\ x^2 + y^2 < 1 \end{cases} x>0y>0x2+y2<1

syms x y
cond1 = x > 0;
cond2 = y > 0;
cond3 = x^2 + y^2 < 1;
conds = [cond1 cond2 cond3];

sol = solve(conds, [x y], 'ReturnConditions', true);

sol.x
sol.y
sol.conditions

其中,sol.x & sol.y 会输出新的变量,sol.conditions新变量之间满足的关系

知识点总结

常规语法:sol = solve(eqn,var)

当公式中的解无法有限列举出来时,需要用参数化表示,就要用下列语法:
[y1,…,yN,parameters,conditions] = solve(eqns,vars,‘ReturnConditions’,true)
(通过将 "ReturnConditions选项指定为true, 可以找到同一公式的完整解。)

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页