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

Derivadas Simbólicas no MATLAB com o Comando diff

O MATLAB fornece o comando diff para derivadas simbólicas. Forma simples: diff(f).

Exemplo Básico

syms t
f = 3*t^2 + 2*t^(-2);
diff(f)  % ans = 6*t - 4/t^3

Octave equivalente: differentiate(f,t) com pacote symbolic.

Verificação das Regras Elementares de Derivação

Exemplos de Derivação

syms x t
f = (x+2)*(x^2+3);           diff(f)  % 2x(x+2)+x^2+3
f = (t^2+3)*(sqrt(t)+t^3);   diff(f)  % (t^2+3)*(3t^2+1/(2√t)) + 2t(√t+t^3)
f = (x^2-2x+1)*(3x^3-5x^2+2); diff(f)  % (2x-2)*... - (-9x^2+10x)*...
f = (2x^2+3x)/(x^3+1);       diff(f)  % (4x+3)/(x^3+1) - 3x^2(2x^2+3x)/(x^3+1)^2
f = (x^2+1)^17;              diff(f)  % 34x(x^2+1)^16
f = (t^3+3t^2+5t-9)^(-6);    diff(f)  % -6(3t^2+6t+5)/(t^3+3t^2+5t-9)^7

Octave equivalente usa differentiate(f,var).

Derivadas de Funções Exponenciais, Logarítmicas e Trigonométricas

FunçãoDerivada
c^(a·x)c^(a·x)·ln(c)·a
e^xe^x
ln x1/x
log_c(x)1/(x·ln c)
x^xx^x·(1+ln x)
sin(x)cos(x)
cos(x)-sin(x)
tan(x)sec²(x) = 1+tan²(x)
cot(x)-csc²(x) = -(1+cot²(x))
sec(x)sec(x)·tan(x)
csc(x)-csc(x)·cot(x)

Exemplos Computados

syms x
y = exp(x);        diff(y)  % exp(x)
y = x^9;           diff(y)  % 9*x^8
y = sin(x);        diff(y)  % cos(x)
y = tan(x);        diff(y)  % tan(x)^2+1
y = cos(x);        diff(y)  % -sin(x)
y = log(x);        diff(y)  % 1/x
y = log10(x);      diff(y)  % 1/(x*log(10))
y = sin(x)^2;      diff(y)  % 2*cos(x)*sin(x)
y = cos(3*x^2+2*x+1); diff(y) % -sin(...)*(6x+2)
y = exp(x)/sin(x); diff(y)  % exp(x)/sin(x) - exp(x)cos(x)/sin(x)^2

Derivadas de Ordem Superior

Sintaxe: diff(f, n) para n-ésima derivada.

f = x*exp(-3*x);
diff(f, 2)  % ans = 9*x*exp(-3*x) - 6*exp(-3*x)

Octave: differentiate(f, x, 2).

Exemplo: Verificação de Equação Diferencial

Dado y = 3 sin(x) + 7 cos(5x). Verificar se y'' + y = -5 cos(2x).

syms x
y = 3*sin(x) + 7*cos(5*x);
lhs = diff(y,2) + y;
rhs = -5*cos(2*x);
if isequal(lhs,rhs) disp('Verdadeiro'); else disp('Falso'); end
disp(lhs)  % -168*cos(5*x) → Falso

Encontrando Máximos e Mínimos de uma Curva

Pontos estacionários: onde f'(x)=0. Passos:

  1. Defina a função e plote.
  2. Calcule a derivada.
  3. Resolva f'(x)=0 para pontos críticos.
  4. Avalie f(x) nesses pontos (use subs).

Exemplo: f(x) = 2x³ + 3x² - 12x + 17 no intervalo [-2,2]

syms x
y = 2*x^3 + 3*x^2 - 12*x + 17;
ezplot(y, [-2,2])
g = diff(y)          % 6x^2 + 6x - 12
s = solve(g)         % s = 1, -2
subs(y,1), subs(y,-2)  % 10, 37

Mínimo = 10 (em x=1), Máximo = 37 (em x=-2).

Resolvendo Equações Diferenciais

Comando dsolve para solução simbólica.

Exemplos

dsolve('Dy = 5*y')                    % s = C2*exp(5*t)
dsolve('D2y - y = 0','y(0)=-1','Dy(0)=2')  % ans = exp(t)/2 - 3*exp(-t)/2

MATLAB

  1. O Que é Diferencial? Entendendo Seu Papel, Tipos e Manutenção
  2. Óleo do Diferencial Explicado: Finalidade, Tipos e Manutenção
  3. Entendendo Tipos de Dados no MATLAB: Guia Completo
  4. Dominando Operadores MATLAB: Guia Completo de Operações Aritméticas, Lógicas e Bitwise
  5. Domine Matrizes no MATLAB: Criação, Referência e Manipulação de Dados
  6. MATLAB: Dominando Arrays Multidimensionais e Especiais
  7. Dominando a Notação Dois-Pontos no MATLAB: Crie Vetores e Itere com Eficiência
  8. MATLAB – Números: Tipos, Armazenamento e Conversão
  9. Dominando Strings no MATLAB: Criação e Uso Prático
  10. Funções no MATLAB: Definição, Workspace, Entradas e Saídas