代数全是关于数学符号和操纵这些符号的规则的研究。在此,变量用于存储/表示数量。在MATLAB中,有一些内置的方法可以求解代数方程。方程的根,求解x,简化表达式是我们可以在MATLAB中执行的一些操作。
以下是MATLAB解决代数的一些功能:
- 解决()
- roots()
- 扩张()
- 简化()
- 因素()
解决方程式:要解决一个寻找x值的方程式,或者如果该方程式包含多个变量,我们可以求解一个特定的变量。
Syntax: solve(equation,variable)
此处的默认变量为x。
示例1:此示例说明了最新版本的MATLAB的Solve()函数。
MATLAB
% MATLAB program to illustrate
% solve() function
syms x
% Below eqn is nothing but
% x-28 = 0
eqn = x-28 == 0;
S = solve(eqn,x);
disp(S)
MATLAB
% MATLAB program to illustrate
% solve() function
syms x y z
% Here solving the equation for y
eqn = solve(x-y+28*z^2,y);
disp(eqn)
MATLAB
% MATLAB program to find roots
% of a quadratic equation
% Finding roots for the equation 'x-28=0'
roots([1,-28])
% Finding roots for the equation 'x^2-7*x+12=0'
roots([1,-7,12])
MATLAB
% MATLAB program to find roots
% using solve function
syms x
a = solve(x-28)
b = solve(x^2 -7*x + 12)
% The solve function can also
% higher order equations
c = solve((x-3)^2*(x-7)==0)
MATLAB
% MATLAB program to illustrate
% factor function to find factors
syms x
syms y
% Finding prime factorization of
% given integer
factor(28)
% Finding factors of
% given expressions
factor(x^3-y^3)
factor(x^6-1)
MATLAB
% MATLAB program to illustrate
% factor function
a = simplify(sin(x)^2 + cos(x)^2)
b = simplify((x^4-16)/(x^2-4))
MATLAB
% MATLAB function to illustrate expand()
% function and expand the given polynomials
expand((x - 2)*(x - 4))
% Simplifying inputs of functions
% by using identities
expand(cos(x + y))
expand(sin(2*x))
输出:
28
范例2:
的MATLAB
% MATLAB program to illustrate
% solve() function
syms x y z
% Here solving the equation for y
eqn = solve(x-y+28*z^2,y);
disp(eqn)
输出:
y =
28*z^2 + x
查找根:使用roots()和solve()函数,可以使用方程式或特定方程式中的变量系数来找到根。让我们看一个例子,以更好地理解
Syntax: roots(p)
where p = column vector
范例1:
的MATLAB
% MATLAB program to find roots
% of a quadratic equation
% Finding roots for the equation 'x-28=0'
roots([1,-28])
% Finding roots for the equation 'x^2-7*x+12=0'
roots([1,-7,12])
输出:
ans =
28
ans =
4
3
范例2:
的MATLAB
% MATLAB program to find roots
% using solve function
syms x
a = solve(x-28)
b = solve(x^2 -7*x + 12)
% The solve function can also
% higher order equations
c = solve((x-3)^2*(x-7)==0)
输出:
a =
28
b =
3
4
c =
3
3
7
因子分解和简化:要查找表达式的因子,请使用factor()函数。为了简化表达式,使用了simple()函数。当使用许多符号函数时,应声明变量是符号性的。
factor Syntax:
factor(expression)
or
factor(integer)
simplify Syntax:
simplify(expression)
如果将表达式传递到factor()函数,则它将返回一个因子数组。如果将整数传递给factor()函数,则它将返回给定整数的质数分解。
范例1:
的MATLAB
% MATLAB program to illustrate
% factor function to find factors
syms x
syms y
% Finding prime factorization of
% given integer
factor(28)
% Finding factors of
% given expressions
factor(x^3-y^3)
factor(x^6-1)
输出:
ans =
2 2 7
ans =
(x - y)*(x^2 + x*y + y^2)
ans =
(x - 1)*(x + 1)*(x^2 + x + 1)*(x^2 - x + 1)
示例2: simple()函数对给定表达式执行代数简化。
的MATLAB
% MATLAB program to illustrate
% factor function
a = simplify(sin(x)^2 + cos(x)^2)
b = simplify((x^4-16)/(x^2-4))
输出:
a =
1
b =
x^2 + 4
扩展函数:使用expand()函数,我们可以扩展给定的表达式并使用标识简化函数的输入。
Syntax:
expand(expression)
例子:
的MATLAB
% MATLAB function to illustrate expand()
% function and expand the given polynomials
expand((x - 2)*(x - 4))
% Simplifying inputs of functions
% by using identities
expand(cos(x + y))
expand(sin(2*x))
输出:
ans =
x^2 - 6*x + 8
ans =
cos(x)*cos(y) - sin(x)*sin(y)
ans =
2*cos(x)*sin(x)
笔记:
- 对于最新版本的MATLAB, resolve()函数参数不应为字符串。而是在方程式中使用符号变量。
- 在最新版本的MATLAB中, solve()的方程参数应类似于x-28 == 0而不是x-28 = 0。我们应该使用条件运算符(即==)而不是赋值运算符(即=)
- 在MATLAB编辑器中,除非您在命令末尾添加了分号(;),否则我们无需编写打印函数。
- 在使用众多符号函数时,我们必须声明符号变量。
- 在求解多项式时,除非您指定其他任何变量,否则默认的求解变量将为x 。