1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| function f12=EpouseNMC(k)
syms a
global w1 w2 usim dsim
%f1=vpa(1/w1^2*((abs(limit((k*a^(k-1)*dsim(3)+k*(1-a)^(k-1)*usim(1)),a,1,'left')-diff([usim(1) usim(2)],1)))+abs((limit((k*a^(k-1)*dsim(3)+k*(1-a)^(k-1)*usim(1)),a,0,'right')-diff([dsim(3) dsim(2)],1)))));
%f2=vpa(1/w2^2*((abs(limit((k*(k-1)*a^(k-2)*dsim(3)+k*(k-1)*(1-a)^(k-2)*usim(1)),a,1,'left')-diff([usim(1) usim(2) usim(3)],2)).^2+(abs(limit((k*(k-1)*a^(k-2)*dsim(3)+k*(k-1)*(1-a)^(k-2)*usim(1)),a,0,'right')-diff([dsim(3) dsim(2) dsim(1)],2).^2)))));
%f12=f1+f2;
if k>2
% Limite interpolation
i_lim1down=limit((k*a^(k-1)*dsim(3)-k*(1-a)^(k-1)*usim(1)),a,0,'right');
i_lim1up=limit((k*a^(k-1)*dsim(3)-k*(1-a)^(k-1)*usim(1)),a,1,'left');
i_lim2down=limit((k*(k-1)*a^(k-2)*dsim(3)+k*(k-1)*(1-a)^(k-2)*usim(1)),a,0,'right');
i_lim2up=limit((k*(k-1)*a^(k-2)*dsim(3)+k*(k-1)*(1-a)^(k-2)*usim(1)),a,1,'left');
% Limite donnees
d_lim1down=diff([dsim(3) dsim(2)],1);
d_lim1up=diff([usim(1) usim(2)],1);
d_lim2down=-diff([dsim(3) dsim(2) dsim(1)],2);
d_lim2up=-diff([usim(1) usim(2) usim(3)],2);
f1=1/w1^2*vpa((i_lim1down-d_lim1down).^2+(i_lim1up-d_lim1up).^2);
f2=1/w2^2*vpa((i_lim2down-d_lim2down).^2+(i_lim2up-d_lim2up).^2);
f12=f1+f2;
else
f12=Inf
end
end |
Partager