У меня есть вопрос относительно умножения 4-мерного объекта на 1-мерный объект.По сути, у меня есть четырехмерный объект размеров (15,15,3,5).Я хочу умножить 4-е измерение, используя вектор 5x1, свернув последнее измерение до 1. Затем я хочу использовать squeeze, чтобы получить объект размером (15,15,3), снова умножив его на вектор 3x1, оставив меняс матрицей 15x15.
Я могу сделать это в цикле, но это довольно дорого.Может кто-нибудь дать мне предложения, как это сделать без цикла?
А пока цикл:
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