How to create a counter to store multiple solutions
17 次查看(过去 30 天)
显示 更早的评论
Hi there,
Im trying to create a counter for my QW results. At the moment it's only storing the last 2 values. I would like to create an array with 208 rows and 1 column to store all the results. Could someone please assist.
0 个评论
回答(1 个)
Karim
2022-8-31
编辑:Karim
2022-9-1
Since you have a double loop, the easiest method will be to add a variable e.g. counter. Initialize it to zero, and then add 1 to it just before you want to save some data. You can then use that counter as an index.
% initalize output variables (104 rows 2 column)
Mij_out = zeros( 104, 2);
QW_out = zeros( 104, 2);
A = [0 0.25];
B = [0 3.25];
P = -94.2194;
xi = 0.5:0.5:4;
yi = -1:0.5:5;
% initialize the counter
counter = 0;
for i = 1:8
for j = 1:13
Mij = [xi(i) yi(j)];
UMA = A-Mij;
UMB = B-Mij;
Mag_UMA = sqrt(sum(UMA.^2,2));
Mag_UMB = sqrt(sum(UMB.^2,2));
FAM = UMA ./ Mag_UMA;
FBM = UMB ./ Mag_UMB;
G = [FAM' FBM'];
k = [0;-P];
if rank(G) == rank([G k])
% solve for M2
QW = G\k;
end
% add to the counter
counter = counter + 1;
% save the data
Mij_out( counter,:) = Mij;
QW_out( counter,:) = abs(QW);
end
end
Mij_out
QW_out
3 个评论
Karim
2022-9-1
I updated the answer, and included the code from your picture. The code runs without error
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!