A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

EQ/UFRJ Carlos André Vaz Junior

Apresentações semelhantes


Apresentação em tema: "EQ/UFRJ Carlos André Vaz Junior"— Transcrição da apresentação:

1 EQ/UFRJ Carlos André Vaz Junior

2 EQ/UFRJ fsolve FSOLVE solves systems of nonlinear equations of several variables.

3 EQ/UFRJ solucao = fsolve('funcao',[2],optimset('Display','iter')) function [y] = funcao(x) y=2*x+1; principal.m

4 EQ/UFRJ

5

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 EQ/UFRJ solucao = fsolve('funcao',[2],optimset('Display','iter')) function [y] = funcao(x) y=2*x^2+x-2; principal.m

8 EQ/UFRJ

9

10

11

12

13

14 solucao = fsolve('funcao',[-1],optimset('Display','iter')) function [y] = funcao(x) y=8*x^2+4*x-2; solucao = fsolve('funcao',[2],optimset('Display','iter')) Experimente outro chute inicial: solucao = fsolve('funcao',[-5],optimset('Display','iter'))

15 EQ/UFRJ

16

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;

18 EQ/UFRJ

19

20

21 A=roots([8 4 -2]) Achando todas as raízes do polinômio:

22 EQ/UFRJ 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;

23 EQ/UFRJ

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49 Ajuste de PID

50 EQ/UFRJ A seguinte malha de controle foi elaborada no Simulink. Usar o Matlab para ajustar o controlador. PIDPID degrau unitário no instante 5

51 EQ/UFRJ clear all close all warning off options = optimset('display','iter'); global P I D erro Pmin = fminsearch('custo', [1 5 1],options) Programa principal:

52 EQ/UFRJ 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); Função custo:

53 EQ/UFRJ Solução encontrada para degrau unitário no SP: Pmin =

54 EQ/UFRJ Arquitetura Simulink usada para gerar o gráfico do slide anterior:

55 EQ/UFRJ 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.

56 EQ/UFRJ

57 clear all close all warning off options = optimset('display','iter'); global P I D erro tempo Pmin = fminsearch('custo', [10 5 1],options) Programa principal:

58 EQ/UFRJ 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 Função custo:

59 EQ/UFRJ Resultado obtido: Pmin = Chute inicial usado:

60 EQ/UFRJ Ajuste de TF

61 EQ/UFRJ ?

62

63

64 Ferramenta completa para treinamento...

65 EQ/UFRJ Passando dados para o Simulink

66 EQ/UFRJ Gerador de dados experimentais:

67 EQ/UFRJ

68 Usando os dados experimentais:

69 EQ/UFRJ


Carregar ppt "EQ/UFRJ Carlos André Vaz Junior"

Apresentações semelhantes


Anúncios Google