Multidimensional array multiplication issue
Ältere Kommentare anzeigen
I have to matrices. Impulse = 32 by 32 , residual = 5021 by 32. I want each element in the columns in impulse to be multiplied with all elements of residual. This will be repeated for second column and added to the first. I want this for all the columns, with a loop. Please suggest...
2 Kommentare
KL
am 22 Okt. 2017
what do you mean by "each element in the columns in impulse to be multiplied with all elements of residual"?
residual has 5021 rows and 32 columns. Do you want to create a product of all these elements?
Raisul Islam
am 22 Okt. 2017
Antworten (1)
KL
am 22 Okt. 2017
It's a simple matrix multiplication, isn't it?
impulse_matrix = rand(32,32);
residue_matrix = rand(5021,32);
mult_result = residue_matrix*impulse_matrix;
12 Kommentare
Raisul Islam
am 22 Okt. 2017
Bearbeitet: Raisul Islam
am 22 Okt. 2017
Andrei Bobrov
am 22 Okt. 2017
Let impulse_matrix = [1 2;3 4]; residue_matrix = [1 2; 2 1; 1 3];. Please set result.
I feel like you'd want something like,
result = cumsum(residue_matrix,2)*prod(prod(impulse_matrix))
in this case, if you consider the matrices Andrei gave you, the result would be,
result =
24 72
48 72
24 96
Raisul Islam
am 22 Okt. 2017
Raisul Islam
am 22 Okt. 2017
Bearbeitet: Raisul Islam
am 22 Okt. 2017
KL
am 23 Okt. 2017
With the first piece of code, I cannot clearly understand what you're doing but I would say you possibly could create your 3D matrix without using those 2 loops.
Then if you only have the Y data and you want to visualize, your can simply say
plot(your_y_data)
To make a sum along the third dimension, you just need
HDdim = sum(shock,3);
Raisul Islam
am 23 Okt. 2017
KL
am 23 Okt. 2017
What do you mean you don't need other two dimensions?
plot(HD(:,:,1)) %all rows and columns from page 1
plot(HD(1,:,1)) %first row, all columns from page 1
plot(HD(:,1,1)) %all rows, first column from page 1
If you want to concatenate certain row/column across all pages, do it like,
row_1_allpages = reshape(HD(1,:,:),1,size(HD,2)*size(HD,3))
Raisul Islam
am 23 Okt. 2017
Raisul Islam
am 23 Okt. 2017
col_1_allpages = reshape(HD(:,1,:),[],1)
Raisul Islam
am 24 Okt. 2017
Bearbeitet: Raisul Islam
am 25 Okt. 2017
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!