Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Carlos André Vaz Junior
2
fsolve FSOLVE solves systems of nonlinear equations of several variables.
3
principal.m solucao = fsolve('funcao',[2],optimset('Display','iter')) function [y] = funcao(x) y=2*x+1;
6
>> principal Norm of First-order Trust-region Iteration Func-count f(x) step optimality radius Optimization terminated: first-order optimality is less than options.TolFun.
7
principal.m solucao = fsolve('funcao',[2],optimset('Display','iter')) function [y] = funcao(x) y=2*x^2+x-2;
14
solucao = fsolve('funcao',[-1],optimset('Display','iter'))
function [y] = funcao(x) y=8*x^2+4*x-2; Experimente outro chute inicial: solucao = fsolve('funcao',[2],optimset('Display','iter')) solucao = fsolve('funcao',[-5],optimset('Display','iter'))
17
A= 8; B= 4; C= -2; solucao = fsolve('funcao',[-1],optimset('Display','iter'),A,B,C) function [y] = funcao(x,A,B,C) y=A*x^2+B*x+C;
21
Achando todas as raízes do polinômio:
A=roots([8 4 -2])
22
solucao = fsolve('funcao',[-4 1],optimset('Display','iter'))
function [y] = funcao(x) y(1)= ( x(1).^2 ) x(2); y(2)= (2*x(2))-2;
49
Ajuste de PID
50
A seguinte malha de controle foi elaborada no Simulink.
Usar o Matlab para ajustar o controlador. degrau unitário no instante 5 P I D
51
Programa principal: clear all close all warning off
options = optimset('display','iter'); global P I D erro Pmin = fminsearch('custo', [1 5 1],options)
52
Função “custo”: function [erro] = custo(x) global P I D erro P=x(1);
I=x(2); D=x(3); [T]=sim('malha',[0 65]); erro=sum(erro.^2);
53
Solução encontrada para degrau unitário no SP:
Pmin =
54
Arquitetura Simulink usada para gerar o gráfico
do slide anterior:
55
Ao invés de minimizar o somatório quadrático do erro,
posso minimizar o somatório quadrático ponderado com o tempo. Ou seja, erros em tempos mais elevados são mais significativos.
57
Programa principal: clear all close all warning off options = optimset('display','iter'); global P I D erro tempo Pmin = fminsearch('custo', [10 5 1],options)
58
Função custo: function [erro] = custo(x) global P I D erro tempo P=x(1); I=x(2); D=x(3); [T]=sim('malha',[0 65]); %erro=sum(erro.^2); % somatorio quadratico do erro erro=sum((erro.*tempo).^2); % somatorio quadratico do erro ponderado com o tempo
59
Resultado obtido: Pmin = Chute inicial usado:
60
Ajuste de TF
61
?
64
Ferramenta completa para treinamento...
65
Passando dados para o Simulink
66
Gerador de dados experimentais:
68
Usando os dados experimentais:
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.