• Nenhum resultado encontrado

Resoluções do pteste(matlab).pdf

N/A
N/A
Protected

Academic year: 2021

Share "Resoluções do pteste(matlab).pdf"

Copied!
5
0
0

Texto

(1)

Resoluções do pteste(MATLAB).pdf 1. Resolução do pteste1 pelo fminsearch do MATLAB

Definição do ficheiro (M-file) com a definição da função objectivo:

function [f] = pteste1(x)

f=max((x(1)+x(2)),abs(x(1)*x(2)));

Na janela de comandos: Ponto inicial:

>> x0=[1;1];

Invocação da função de optimização:

>> [x,fval,exitflag,output]=fminsearch('pteste1',x0) … (Nelder-Mead) >> format long Definição de opções: >> options=optimset('TolX',1e-08); (para verificar) >> options

Invocação da função de optimização:

>> [x,fval,exitflag,output]=fminsearch('pteste1',x0,options) …

2. Resolução do pteste2 pelo fminsearch do MATLAB

Definição do ficheiro (M-file) com a definição da função objectivo:

function [f] = pteste2(x) f=max((x(1)-1)^2,x(1)^2+4*(x(2)-1)^2); Na janela de comandos: Ponto inicial: >> x0=[1;1]; Definição de opções: >> options=optimset('TolX',5e-01);

Invocação da função de optimização:

>> [x,fval,exitflag,output]=fminsearch('pteste2',x0,options) …

(2)

Na janela de comandos: >> [x1,x2]=meshgrid(-10:1:10); >> f=max((x1-1).^2,x1.^2+4*(x2-1).^2) ; >> mesh(x1,x2,f),grid on >> contour(x1,x2,f,20),grid on

3. Resolução do pteste3 pelo fminsearch do MATLAB

Definição do ficheiro (M-file) com a definição da função objectivo:

function [f] = pteste3(x)

f=100*(x(2)-x(1)^2)^2+(1-x(1))^2;

Na janela de comandos: Ponto inicial:

>> x0=[-1.2;1];

Invocação da função de optimização:

>> [x,fval,exitflag,output]=fminsearch('pteste3',x0) … (exitflag=0)

Definição de opções:

>> options=optimset('MaxFunEvals',2000);

Invocação da função de optimização:

>> [x,fval,exitflag,output]=fminsearch('pteste3',x0,options) …

(3)

Na janela de comandos:

>> [x1,x2]=meshgrid(-100:1:100); >> f=100*(x2-x1.^2).^2+(1-x1).^2 ; >> plot3(x1,x2,f),grid on

>> contour(x1,x2,f,20),grid on

4. Resolução do pteste3 pelo fminunc do MATLAB

Definição do ficheiro (M-file) com a definição da função objectivo:

function [f] = pteste3(x)

f=100*(x(2)-x(1)^2)^2+(1-x(1))^2;

Na janela de comandos: Ponto inicial:

>> x0=[-1.2;1];

Invocação da função de optimização:

>> [x,fval,exitflag,output]=fminunc('pteste3',x0) … (line search Quasi-Newton)

Definição do ficheiro (M-file) com a definição da função objectivo, do vector gradiente e da matriz Hessiana:

function [f,g,G] = pteste3(x)

f=100*(x(2)-x(1)^2)^2+(1-x(1))^2; if (nargout>1)

% vector gradiente de dimensão n (n - nº de variáveis) g=[-400*x(1)*(x(2)-x(1)^2)-2*(1-x(1));200*(x(2)-x(1)^2)]; % g(1)=- 400*x(1)*(x(2)-x(1)^2)-2*(1-x(1));

% g(2)= 200*(x(2)-x(1)^2); if (nargout>2)

(4)

G=[-400*x(2)+1200*x(1)^2+2 -400*x(1);-400*x(1) 200]; % G(1)=[-400*x(2)+1200*x(1)^2+2 -400*x(1)]; % G(2)=[-400*x(1) 200]; end end Na janela de comandos: Ponto inicial: >> x0=[-1.2;1]; Definição de opções: >> options=optimset('LargeScale','off','GradObj','on','Hessian','on');

Invocação da função de optimização:

>> [x,fval,exitflag,output]=fminunc('pteste3',x0,options) … (line search Quasi-Newton)

Se usar a seguinte definição de opções:

>> options=optimset('LargeScale','on','GradObj','on','Hessian','on');

Na invocação da função de optimização:

>> [x,fval,exitflag,output]=fminunc('pteste3',x0,options) … (trust-region Newton)

5. Resolução do pteste4 pelo fmincon do MATLAB

Definição do ficheiro (M-file) com a definição da função objectivo, gradiente e matriz Hessiana:

function [f,g,G] = pteste4(x)

f=(x(1)+3*x(2)+x(3))^2+4*(x(1)-x(2))^2; if (nargout>1)

% vector gradiente de dimensão n

g=[2*(x(1)+3*x(2)+x(3))+8*(x(1)-x(2));6*(x(1)+3*x(2)+x(3))-8*(x(1)-x(2));2*(x(1)+3*x(2)+x(3))];

if (nargout>2)

% matriz Hessiana de dimensão nxn G=[10 -2 2;-2 26 6;2 6 2];

end end

Definição do ficheiro (M-file) com a definição das restrições não lineares e dos gradientes:

function [c,ceq,gc,gceq] = pteste4r(x)

(5)

c = [-6*x(2)-4*x(3)+x(1)^3+3];

% restrições de igualdade (vector de m elementos) ceq = [];

if (nargout>2)

% gradientes das restrições de desig. (matriz de dimensão nxp) gc=[3*x(1)^2;-6;-4];

% gradientes das restrições de igual. (matriz de dimensão nxm) gceq=[];

end

Na janela de comandos: Ponto inicial:

>> x0=[0.1;0.7;0.2];

Definição da restrição linear de igualdade (na forma Aeq x = beq):

>> Aeq=[1 1 1]; >> beq=[1];

Definição da restrição linear de desigualdade (na forma A x <= b): não tem Definição dos limites simples (lb e ub):

>>lb=[0;0;0];

Definição de opções:

>> options=optimset('Largescale','off','GradObj','on','Hessian','on', 'GradConstr','on');

Invocação da função de optimização:

>> [x,fval,exitflag,output]=fmincon('pteste4',x0,[],[],Aeq,beq,lb,[], 'pteste4r',options) ... (SQP QN line search) ou >> [x,fval,exitflag,output,lambda,grad,hessian]= ...

Referências

Documentos relacionados

Não se verificou nenhuma incandescência, nem a emissão visível da fonte que se situa na base do novo cone vulcânico, fonte que alimenta as frentes em Ilhéu de Losna.. A

A densidade demográfica é um aspecto que interfere na qualidade ambiental das cidades. Muitas vezes, a alta densidade está relacionada com as condições econômicas

Coloca que as catexias objetais destes pacientes devem ter sido abandonadas, e sua libido objetal pode ter se transformado em libido do ego, razão pela qual estas pessoas não

©Copyright Lotronic 2015 • Não coloque recipientes cheios de líquidos, tais como copos ou vasos, em cima. ou ao lado

• Você pode usar o comando lookfor para procurer nos arquivos de ajuda ocorrências de texto e pode ser útil se você não sabe o nome de uma

SOLUCIONÁRIO DOS EXERCÍCIOS DO MINICURSO DO

a) Na configuração A ocorrem deslocamentos excessivos ao longo da tubulação, gerando esforços elevados nos bocais. A angulação excessiva que se verifica na tubulação em

O Conselho de Administração da ADP Fertilizantes, S.A., no âmbito da sua responsabilidade de formular políticas e organizar os sistemas de gestão interna, adota a presente Política do