Dominando Equações Algébricas no MATLAB: Resolver, Simplificar e Fatorar
Para resolver equações algébricas básicas, MATLAB e Octave têm pequenas diferenças. Cobriremos ambos separadamente. Também abordamos fatoração e simplificação de expressões algébricas.
Resolvendo Equações Algébricas Básicas no MATLAB
A função solve resolve equações algébricas. Forma simples: passa a equação entre aspas.
Exemplos
solve('x-5=0') % ans = 5
y = solve('x-5=0') % y = 5
solve('x-5') % ans = 5 (lado direito omitido assume =0)
Para equações com múltiplos símbolos, o MATLAB assume que você resolve para x por padrão. Use solve(equation, variable) para especificar a variável.
solve('v-u-3*t^2=0', 'v') % ans = 3*t^2 + u
Resolvendo no Octave
Octave usa a função roots com vetor de coeficientes.
roots([1, -5]) % x-5=0 → ans = 5 y = roots([1, -5]) % y = 5
Equações Quadráticas no MATLAB
solve resolve equações de ordem superior. Retorna raízes em array.
eq = 'x^2 -7*x + 12 = 0';
s = solve(eq);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));
Resultado: 3 e 4.
Equações Quadráticas no Octave
s = roots([1, -7, 12]);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));
Resultado: 4 e 3 (ordem pode variar).
Equações de Ordem Superior no MATLAB
Exemplo cúbico: (x-3)^2*(x-7)=0
solve('(x-3)^2*(x-7)=0') % ans = 3, 3, 7
Para raízes complexas longas, converta para double com double().
Exemplo: Equação de 4ª Ordem
eq = 'x^4 - 7*x^3 + 3*x^2 - 5*x + 9 = 0'; s = solve(eq); disp(s(1)), disp(s(2)), disp(s(3)), disp(s(4)); disp(double(s(1))), disp(double(s(2))), disp(double(s(3))), disp(double(s(4)));
Resultado: duas raízes reais (~6.6304, ~1.0598) e duas complexas conjugadas (~ -0.3451 ± 1.0778i).
Equações de Ordem Superior no Octave
v = [1, -7, 3, -5, 9]; s = roots(v); disp(double(s(1))), disp(double(s(2))), disp(double(s(3))), disp(double(s(4)));
Resultado numérico similar.
Sistemas de Equações no MATLAB
solve resolve sistemas com múltiplas variáveis.
Exemplo 2x2
s = solve('5*x + 9*y = 5','3*x - 6*y = 4');
s.x, s.y
Resultado: x = 22/19, y = -5/57.
Sistema 3x3
x + 3y - 2z = 5 3x + 5y + 6z = 7 2x + 4y + 3z = 8
Resolvível com solve passando três equações.
Sistemas no Octave
Abordagem matricial: A*x = b → x = A\b.
A = [5, 9; 3, -6]; b = [5;4]; A \ b % ans = 1.157895, -0.087719
Expandindo e Coletando Equações no MATLAB
Funções expand e collect. Declare variáveis simbólicas com syms.
syms x y expand((x-5)*(x+9)) % x^2 + 4x - 45 expand((x+2)*(x-3)*(x-5)*(x+7)) % x^4 + x^3 -43x^2 +23x +210 expand(sin(2*x)) % 2*cos(x)*sin(x) expand(cos(x+y)) % cos(x)cos(y) - sin(x)sin(y) collect(x^3*(x-7)) % x^4 - 7x^3 collect(x^4*(x-3)*(x-5)) % x^6 - 8x^5 + 15x^4
Expandindo e Coletando no Octave
Requer pacote symbolic (pkg load symbolic). Use symbols e sym.
pkg load symbolic; symbols
x = sym('x'); y = sym('y'); z = sym('z');
expand((x-5)*(x+9))
expand(Sin(2*x))
collect(x^3*(x-7), z)
Fatoração e Simplificação
factor fatora, simplify simplifica.
syms x y factor(x^3 - y^3) % (x - y)*(x^2 + x*y + y^2) factor([x^2-y^2, x^3+y^3]) % [(x-y)(x+y), (x+y)(x^2 - x*y + y^2)] simplify((x^4-16)/(x^2-4)) % x^2 + 4
MATLAB
- MATLAB: Visão Geral Abrangente do Ambiente Líder em Computação Numérica
- Domine o Básico do MATLAB: Sintaxe e Comandos Essenciais
- Entendendo Variáveis no MATLAB: Fundamentos e Exemplos
- Comandos Essenciais do MATLAB para Computação Eficiente
- Entendendo Tipos de Dados no MATLAB: Guia Completo
- Dominando Operadores MATLAB: Guia Completo de Operações Aritméticas, Lógicas e Bitwise
- Dominando Vetores no MATLAB: Fundamentos de Linha e Coluna
- Domine Matrizes no MATLAB: Criação, Referência e Manipulação de Dados
- MATLAB: Dominando Arrays Multidimensionais e Especiais
- Dominando a Notação Dois-Pontos no MATLAB: Crie Vetores e Itere com Eficiência