English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Álgebra do MATLAB

Até agora, vimos que todos os exemplos podem ser executados no MATLAB e no GNU (também conhecido como Octave). Mas, para resolver equações algebraicas básicas, o MATLAB e o Octave praticamente não têm diferenças, então tentaremos introduzir o MATLAB e o Octave em partes separadas.

Também discutiremos a decomposição e simplificação de expressões algebraicas.

Resolver equações algebraicas básicas no MATLAB

solveA função é usada para resolver equações algebraicas. A forma mais simples é que a função solve usa a expressão da equação entre aspas como parâmetro.

Por exemplo, vamos resolver a equação x-5 = '0' do x

solve('x-5= '0'

O MATLAB executará as seguintes instruções e retornará o seguinte resultado-

ans =
   5

Você também pode chamar a função Solve como-

y = solve('x-5 = '0'

O MATLAB executará as seguintes instruções e retornará o seguinte resultado-

y =
   5

Você até pode omitir o lado direito da equação-

solve('x-5')

O MATLAB executará as seguintes instruções e retornará o seguinte resultado-

ans =
   5

Se a equação contiver múltiplos símbolos, o MATLAB assume por padrão que você está resolvendo x, mas a função solve tem outra forma-

solve(equation, variable)

Aqui, você também pode mencionar as variáveis.

Por exemplo, vamos resolver a equação da v v – u – 3t 2 = '0'. Neste caso, devemos escrever-

solve('v-u-3*^2= '0', 'v')

O MATLAB executará as seguintes instruções e retornará o seguinte resultado-

ans =
   3*^2 + u

Resolvendo equações algebraicas básicas usando o Octave

rootsA função é usada para resolver equações algebraicas no Octave. Você pode escrever o seguinte exemplo, conforme mostrado a seguir:

Por exemplo, vamos resolver a equação x-5 = '0' do x

roots([1, -5]

O Octave executará as instruções acima e retornará o seguinte resultado-

ans = 5

Você também pode chamar a função Solve como-

y = roots([1, -5]

O Octave executará as instruções acima e retornará o seguinte resultado-

y = 5

Resolvendo a equação quadrática no MATLAB

solveA função também pode resolver equações de ordem superior. Geralmente, é usada para resolver equações quadráticas. A função retorna os raízes da equação em forma de array.

O seguinte exemplo resolve a equação quadrática x 2 -7x +12 = '0'. Crie um arquivo de script e digite o seguinte código-

eq = 'x^2 -7*x + 12 = '0';
s = solve(eq);
disp('A primeira raiz é:'), disp(s(1));
disp('A segunda raiz é:'), disp(s(2));

Quando o arquivo é executado, ele exibe o seguinte resultado-

A primeira raiz é: 
   3
A segunda raiz é: 
   4

Resolvendo a equação quadrática usando o Octave

O seguinte exemplo resolve a equação quadrática x 2 -7x +12 = '0'. Crie um arquivo de script e insira o seguinte código-

s = roots([1, -7, 12]);
disp('A primeira raiz é:'), disp(s(1));
disp('A segunda raiz é:'), disp(s(2));

Quando o arquivo é executado, ele exibe o seguinte resultado-

A primeira raiz é: 
   4
A segunda raiz é: 
   3

Resolvendo equações de ordem superior no MATLAB

solveA função também pode resolver equações de ordem superior. Por exemplo, vamos resolver uma equação de terceiro grau para (x-3)2(x-7)= 0

solve('(x-3^2*(x-7)=0'

O MATLAB executará as seguintes instruções e retornará o seguinte resultado-

ans =
   3
   3
   7

Para equações de ordem superior, a comprimento das raízes contém muitos itens. Você pode obter seus valores numéricos convertendo tais raízes para double. O seguinte exemplo resolveu a equação de quarto grau x 4 - 7x 3 + 3x 2 - 5x + 9 = 0.

Crie um arquivo de script e insira o seguinte código-

eq = 'x^4 - 7*x^3 + 3*x^2 - 5*x + 9 = '0';
s = solve(eq);
disp('A primeira raiz é:'), disp(s(1));
disp('A segunda raiz é:'), disp(s(2));
disp('A terceira raiz é:'), disp(s(3));
disp('A quarta raiz é:'), disp(s(4));
% Convertendo a raiz para tipo double
disp('Valor numérico da raiz'), disp(double(s(1));
disp('Valor numérico da raiz quadrática'), disp(double(s(2));
disp('Valor numérico da raiz cúbica'), disp(double(s(3));
disp('Valor numérico da raiz quadrada'), disp(double(s(4));

Quando o arquivo é executado, ele retorna o seguinte resultado-

A primeira raiz é: 
6.630396332390718431485053218985
 A segunda raiz é: 
1.0597804633025896291682772499885
 A terceira raiz é: 
- 0.34508839784665403032666523448675 - 1.0778362954630176596831109269793*i
 A quarta raiz é: 
- 0.34508839784665403032666523448675 + 1.0778362954630176596831109269793*i
Valor numérico da raiz
   6.6304
Valor numérico da raiz quadrática
   1.0598
Valor numérico da raiz cúbica
   -0.3451 - 1.0778i
Valor numérico da raiz quadrada
   -0.3451 + 1.0778i

Observe que os dois últimos ramos são complexos.

Resolver equações de ordem superior no Octave

O exemplo a seguir resolve a equação de quarto grau x 4 - 7x 3 + 3x 2 - 5x + 9 = 0.

Crie um arquivo de script e insira o seguinte código-

v = [1, -7,  3, -5, 9];
s = roots(v);
% Convertendo a raiz para tipo double
disp('Valor numérico da raiz'), disp(double(s(1));
disp('Valor numérico da raiz quadrática'), disp(double(s(2));
disp('Valor numérico da raiz cúbica'), disp(double(s(3));
disp('Valor numérico da raiz quadrada'), disp(double(s(4));

Quando o arquivo é executado, ele retorna o seguinte resultado-

Valor numérico da raiz
 6.6304
Valor numérico da raiz quadrática
-0.34509 + 1.07784i
Valor numérico da raiz cúbica
-0.34509 - 1.07784i
Valor numérico da raiz quadrada
 1.0598

Resolver sistemas lineares no MATLAB

solveA função também pode ser usada para gerar soluções de sistemas de equações envolvendo várias variáveis. Vamos dar um exemplo simples para demonstrar essa utilização.

Vamos resolver a equação-

5x + 9y = 5

3x - 6y = 4

Crie um arquivo de script e insira o seguinte código-

s = solve('5*x + 9*y = 5','3*x - 6*y = 4');
s.x
s.y

Quando o arquivo é executado, ele exibe o seguinte resultado-

ans =
   22/19
ans =
   -5/57

Da mesma forma, você pode resolver sistemas lineares maiores. Considere o seguinte conjunto de equações-

x + 3y -2z = 5

3x + 5y + 6z = 7

2x + 4y + 3z = 8

Solução de sistemas lineares no Octave

Existem várias maneiras de resolver um sistema linear de n equações em n incógnitas. Vamos dar um exemplo simples para demonstrar essa utilização.

Vamos resolver a equação-

5x + 9y = 5

3x - 6y = 4

Tais sistemas lineares lineares podem ser escritos como equações de matriz única Ax = b, onde A é a matriz de coeficientes, b é a matriz coluna que contém o lado direito das equações lineares, x é a matriz coluna que representa a solução, conforme mostrado a seguir: O programa a seguir mostra-

Crie um arquivo de script e insira o seguinte código-

A = [5, 9; 3, -6];
b = [5;4];
A \ b

Quando o arquivo é executado, ele exibe o seguinte resultado-

ans =
   1.157895
  -0.087719

Da mesma forma, você pode resolver sistemas lineares maiores, conforme mostrado a seguir-

x + 3y -2z = 5

3x + 5y + 6z = 7

2x + 4y + 3z = 8

Expandir e coletar equações no MATLAB

expandEcollectUsadas respectivamente para expandir e coletar uma equação. O exemplo a seguir ilustra o conceito-

Ao usar muitos funções simbólicas, deve-se declarar as variáveis como simbólicas.

Crie um arquivo de script e insira o seguinte código-

syms x % variável simbólica x
syms y % variável simbólica y
%Expand equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(sin(2*x))
expand(cos(x+y))
 
%Collect equations
collect(x^3 *(x-7))
collect(x^4*(x-3)*(x-5))

Quando o arquivo é executado, ele exibe o seguinte resultado-

ans =
   x^2 + 4*x - 45
ans =
   x^4 + x^3 - 43*x^2 + 23*x + 210
ans =
   2*cos(x)*sin(x)
ans =
   cos(x)*cos(y) - sin(x)*sin(y)
ans =
   x^4 - 7*x^3
ans =
   x^6 - 8*x^5 + 15*x^4

equações de expansão e coleta em uma oitava

Você precisa ter umsímbolopacote, que fornece respectivamenteexpandEcollectfunção para expandir e coletar equações. O seguinte exemplo ilustra o conceito-

Quando se usam muitos funções simbólicas, deve-se declarar que as variáveis são variáveis simbólicas, mas o Octave define variáveis simbólicas de maneira diferente. Note o usoSinECosEles também estão definidos no pacote simbólico.

Crie um arquivo de script e insira o seguinte código-

%First, load the package, make sure it is installed.
pkg load symbolic
%Make the symbols module available
symbols
%Define symbolic variables
x = sym('x');
y = sym('y');
z = sym('z');
%Expand equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(Sin(2*x))
expand(Cos(x+y))
 
%Collect equations
collect(x^3 *(x-7), z)
collect(x^4*(x-3)*(x-5), z)

Quando o arquivo é executado, ele exibe o seguinte resultado-

ans =
-45.0+x^2+(4.0)*x
ans =
210.0+x^4-(43.0)*x^2+x^3+(23.0)*x
ans =
sin((2.0)*x)
ans =
cos(y+x)
ans =
x^(3.0)*(-7.0+x)
ans =
(-3.0+x)*x^(4.0)*(-5.0+x)

Fatoração e simplificação de expressões algebraicas

factorA função descompõe uma expressão,simplifyA função simplifica uma expressão. O seguinte exemplo ilustra o conceito-

Exemplo

Crie um arquivo de script e insira o seguinte código-

syms x
syms y
factor(x^3 - y^3)
factor([x^2-y^2,x^3+y^3]
simplify((x^4-16)/(x^2-4))

Quando o arquivo é executado, ele exibe o seguinte resultado-

ans =
   (x - y)*(x^2 + x*y + y^2)
ans =
   [ (x - y)*(x + y), (x + y)*(x^2 - x*y + y^2)]
ans =
   x^2 + 4