Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> MATLAB

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

  1. MATLAB: Visão Geral Abrangente do Ambiente Líder em Computação Numérica
  2. Domine o Básico do MATLAB: Sintaxe e Comandos Essenciais
  3. Entendendo Variáveis no MATLAB: Fundamentos e Exemplos
  4. Comandos Essenciais do MATLAB para Computação Eficiente
  5. Entendendo Tipos de Dados no MATLAB: Guia Completo
  6. Dominando Operadores MATLAB: Guia Completo de Operações Aritméticas, Lógicas e Bitwise
  7. Dominando Vetores no MATLAB: Fundamentos de Linha e Coluna
  8. Domine Matrizes no MATLAB: Criação, Referência e Manipulação de Dados
  9. MATLAB: Dominando Arrays Multidimensionais e Especiais
  10. Dominando a Notação Dois-Pontos no MATLAB: Crie Vetores e Itere com Eficiência