J'essaie d'intégrer toutes les matrices 2x2 A (i-1: 1, j-1: j) dans Matlab sans utiliser de boucle. En ce moment je le fais en boucle mais c'est extrêmement lent. Le code est montré ci-dessous:Intégration de matrices sans boucle dans Matlab
A=rand(100)
t=linespace(0,1,100);
for i=2:length(A)
for j=2:length(A)
A_minor=A(i-1:i,j-1:j);
B(i,j)=trapz(t(j-1:j),trapz(t(i-1:i),A_minor));
end
end
Je voudrais faire ceci sans employer des boucles pour accélérer le calcul.
Pourriez-vous nous donner d'autres explications? –
Vous pouvez utiliser cette fonction pour exécuter une fonction sur chaque bloc d'une matrice. Vous pouvez spécifier si vous souhaitez que les blocs se chevauchent ou soient disjoints. Donc, dans votre cas, vous voulez exécuter une fonction sur chaque bloc 2x2 de la matrice. Je vais modifier ma réponse pour fournir plus de détails. –
Pourriez-vous éditer le code pour incorporer des blocs qui se chevauchent? Je ne peux pas comprendre. Merci! –