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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
function f = myfun(a)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
M=load('M.mat');
K=load('K.mat');
B=load('B.mat');
%J'ai ajouté ces lignes puisqu'au début je recevai un message d'erreur comme quoi il ne reconnais pas mon K, B, M du programme de base, ces matrices sont stockée dans des fichiers%
Term1(25,25)=0;
for r=1:25
for i=1:25
Term1(i,r)=a(i)*K(i,r);
end
end
TERME1=sum(Term1,1);
Term2(25,25,25,25)=0;
for r=1:25
for i=1:25
for j=1:25
for k=1:25
Term2(i,j,k,r)=a(i)*a(j)*a(k)*B(i,j,k,r);
end
end
end
end
TERME2=sum(Term2,4);
AK(25,25)=0;
for i=1:25
for j=1:25
AK(i,j)=a(i)*a(j)*K(i,j);
end
end
SOMAK=sum(sum(AK));
AB(25,25,25,25)=0;
for i=1:25
for j=1:25
for k=1:25
for l=1:25
AB(i,j,k,l)=a(i)*a(j)*a(k)*a(l)*B(i,j,k,l);
end
end
end
end
SOMAB=sum(sum(sum(sum(AB))));
AM(25,25)=0;
for i=1:25
for j=1:25
AM(i,j)=a(i)*a(j)*M(i,j);
end
end
SOMAM=sum(sum(AM));
Term3(25,25)=0;
for r=1:25
for i=1:25
Term3(i,r)=a(i)*M(i,r);
end
end
TERME3=sum(term3,1);
for r=2:25
f(r)=(2*TERME1(r))+(3*TERME2(r))-(2*((SOMAK+SOMAB)/SOMAM)*TERME3(r));
end
end |
Partager