Somma di matrici in un ciclo for con MATLAB
ciao a tutti! ho un problema con matlab. Sto scrivendo un codice che mi permetta di determinare le deformazioni di un laminato in composito conoscendo le forze applicate su di esso. Un laminato può essere composto da n lamine ed ogni lamina ha le sue caratteristiche meccaniche. Detto questo, vi spiego il mio problema: ho un numero n di lamine e ogni lamina ha una matrice (3*3) che chiamo Ak. La matrice Ak la ottengo dal seguente ciclo for:
for b=1:n
tk=input..et etc
Qxy=...(3*3)
Ak=[Qxy(1,1)*tk(b,1),Qxy(1,2)*tk(b,1),Qxy(1,3)*tk(b,1);
Qxy(2,1)*tk(b,1),Qxy(2,2)*tk(b,1),Qxy(2,3)*tk(b,1);
Qxy(3,1)*tk(b,1),Qxy(3,2)*tk(b,1),Qxy(3,3)*tk(b,1)]
end
A me serve, alla fine, sommare tutte le matrici Ak! Quindi se ho due lamine, avrò due matrici Ak. Cosa devo fare per sommare queste due matrici?
Grazie anticipatamente,
EngFowler3rd
for b=1:n
tk=input..et etc
Qxy=...(3*3)
Ak=[Qxy(1,1)*tk(b,1),Qxy(1,2)*tk(b,1),Qxy(1,3)*tk(b,1);
Qxy(2,1)*tk(b,1),Qxy(2,2)*tk(b,1),Qxy(2,3)*tk(b,1);
Qxy(3,1)*tk(b,1),Qxy(3,2)*tk(b,1),Qxy(3,3)*tk(b,1)]
end
A me serve, alla fine, sommare tutte le matrici Ak! Quindi se ho due lamine, avrò due matrici Ak. Cosa devo fare per sommare queste due matrici?
Grazie anticipatamente,
EngFowler3rd
Risposte
Allora non sono un esperto però potresti provare così, ad ogni passo crei una matrice che si somma tutte quelle precedenti tipo così:
Bk=zeros(3,3);
for b=1:n
Ak=quello che è;
Bk=Bk+Ak;
end
alla fine Bk dovrebbe essere la matrice somma di tutte le Ak
Bk=zeros(3,3);
for b=1:n
Ak=quello che è;
Bk=Bk+Ak;
end
alla fine Bk dovrebbe essere la matrice somma di tutte le Ak
ho provato ma non funziona...mi sa che devo cercare un algoritmo alternativo! un algoritmo che mi permetta il riempimento della matrice.
come non detto! in quel modo funziona! ti ringrazio