how to save an array in each iteration?

I have a parameter L and the following array SR:
L = 3;
SR = [ 0.0941 0.1129 0.0471 0 0 0
0.0941 0 0 0.0471 0.0941 0
0 0 0 0.0471 0 0.0471
0 0.1129 0 0 0.0941 0
0 0 0.0471 0 0 0.0471
0 0 0 0 0 0 ]
The code is:
for i = 1:L
A = - (1 / 2) * ( ( 2 * i - 1 ) / L) * SR
end
the result is. For each iteration a block.
A{1} = [ - 0.0157 - 0.0188 - 0.0078 0 0 0
- 0.0157 0 0 -0.0078 -0.0157 0
0 0 0 -0.0078 0 -0.0078
0 - 0.0188 0 0 -0.0157 0
0 0 - 0.0078 0 0 -0.0078
0 0 0 0 0 0 ]
A{2} = [ -0.0471 -0.0565 -0.0235 0 0 0
-0.0471 0 0 -0.0235 -0.0471 0
0 0 0 -0.0235 0 -0.0235
0 -0.0565 0 0 -0.0471 0
0 0 -0.0235 0 0 -0.0235
0 0 0 0 0 0 ]
A{3} = [ -0.0784 -0.0941 -0.0392 0 0 0
-0.0784 0 0 -0.0392 -0.0784 0
0 0 0 -0.0392 0 -0.0392
0 -0.0941 0 0 -0.0784 0
0 0 -0.0392 0 0 -0.0392
0 0 0 0 0 0]
The question is, how can I save a total array with all those three blocks?..
As the following configuration.
A = [ A{1} A{2} A{3} ]

 Accepted Answer

Here a variant with a 3d-matrix:
clearvars;
A = zeros(6,6,3)
L = 3;
SR = [ 0.0941 0.1129 0.0471 0 0 0
0.0941 0 0 0.0471 0.0941 0
0 0 0 0.0471 0 0.0471
0 0.1129 0 0 0.0941 0
0 0 0.0471 0 0 0.0471
0 0 0 0 0 0 ]
for i = 1:L
A(:,:,i) = - (1 / 2) * ( ( 2 * i - 1 ) / L) * SR
end

More Answers (2)

Maybe a cell-array is what you are looking for?
A = cell(3,1);
L = 3;
SR = [ 0.0941 0.1129 0.0471 0 0 0
0.0941 0 0 0.0471 0.0941 0
0 0 0 0.0471 0 0.0471
0 0.1129 0 0 0.0941 0
0 0 0.0471 0 0 0.0471
0 0 0 0 0 0 ]
for i = 1:L
A{i,1} = - (1 / 2) * ( ( 2 * i - 1 ) / L) * SR
end

4 Comments

It could be, yes! .. I am only wanting to obtain the matrix, with all its iterations stored in another matrix variable.
I have the following warning. ("Unable to perform assignment because brace indexing is not supported for variables of this type")
Applying this code:
for i = 1:L
A{i,1} = - (1 / 2) * ( ( 2 * i - 1 ) / L) * SR
end
A = cell(3, 1); % this is missing from your copied code, COPY IT properly
in other words, I want to get this total matrix !!
A = [
-0.0157 -0.0188 -0.0078 0 0 0 -0.0471 -0.0565 -0.0235 0 0 0 -0.0784 -0.0941 -0.0392 0 0 0
-0.0157 0 0 -0.0078 -0.0157 0 -0.0471 0 0 -0.0235 -0.0471 0 -0.0784 0 0 -0.0392 -0.0784 0
0 0 0 -0.0078 0 -0.0078 0 0 0 -0.0235 0 -0.0235 0 0 0 -0.0392 0 -0.0392
0 -0.0188 0 0 -0.0157 0 0 -0.0565 0 0 -0.0471 0 0 -0.0941 0 0 -0.0784 0
0 0 -0.0078 0 0 -0.0078 0 0 -0.0235 0 0 -0.0235 0 0 -0.0392 0 0 -0.0392
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]

Sign in to comment.

Categories

Asked:

on 19 Oct 2020

Commented:

on 19 Oct 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!