How to store matrix data (Imaginary) from a loop
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Matthew Worker
el 3 de Sept. de 2015
Comentada: Walter Roberson
el 4 de Sept. de 2015
Hello, In my project I have a loop and each iteration gives me a matrix with imaginary values:
for fi = 0:10000:1100000
....
A1=[a11,a12;a21,a22]
end
Output:
A1 =
1.0e+02 *
-0.0934 + 0.0245i -9.0639 + 3.2366i
-0.0010 + 0.0002i -0.0934 + 0.0245i
I need to store all this matrixes with relation to fi value. I am going to use few similar loops and multiply output matrixes (for the same value of fi).
I try to use
A1(fi)=[a11,a12;a21,a22]
but have below error:
Subscript indices must either be real positive integers or logicals.
Can I please any ideas and tips? :)
0 comentarios
Respuesta aceptada
Walter Roberson
el 4 de Sept. de 2015
fivals = 0:10000:1100000;
numfi = length(fivals);
A1 = cell(numfi, 2);
for fiidx = 1 : numfi
fi = fivals(fiidx);
....
A1{fiidx, 1} = fi;
A1{fiidx, 2} = [a11,a12;a21,a22]};
end
Now A1 will be an N x 2 cell array in which the first column is the fi values and the second column is the A1 arrays that resulted.
2 comentarios
Walter Roberson
el 4 de Sept. de 2015
assuming that the list of fi are the same, then
A3(:,2) = cellfun(@mtimes, A1(:,2), A2(:,2), 'Uniform', 0);
A3(:,1) = A1(:,1);
If the fi are certain to be there and to be bit-wise identical but not in the same order then different code would be used. If the fi are certain to be approximately there but not necessarily bitwise identical and not in the same order then different code yet would be used. If the fi are not certain to all be present between the two then you need to define the behaviour for the cases that do not match.
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!