J'ai une question concernant la multiplication d'un objet à 4 dimensions par un objet à 1 dimension. En fait, j'ai un objet 4D de taille (15,15,3,5). Je veux multiplier la 4ème dimension en utilisant un vecteur 5x1, réduisant la dernière dimension à 1. Ensuite, je veux utiliser squeeze pour obtenir un objet de taille (15,15,3), en le multipliant à nouveau par un vecteur 3x1, ce qui me laisse une matrice 15x15.
Je peux le faire en boucle, mais c'est assez coûteux. Quelqu'un peut-il me suggérer comment le faire sans boucle ?
Pour l'instant, la boucle :
expectationCalc = reshape(mValueFunction(age+1, :, :, :, :), nGridAssets, nGridHumanCapital, nNetInterestRate, nShockstoHumanCapital);
for i = 1:nGridAssets
for j = 1:nGridHumanCapital
expectation(i,j) = mTransitionNetInterestRate(nNetIntRate, :)*(squeeze(expectationCalc(i,j,:,:))*mTransitionShockHumanCapital(ShockHcapital, :)');
end
end