Fill an array according to the values of a different array
10 次查看(过去 30 天)
显示 更早的评论
I have 2 arrays. one is A = 21x2 array and the other is B = 700x2 array.
Exemplary:
A= 24 33
26 34
27 33
In the end, B should be structured in such a way that the value from the 1st column is entered in B as often as it is in the second column (33 lines with "24") of A.
The second problem i've got is that I want to fill an array with the output of a function but hence the function is using
Tiefe=normrnd(mu_Tiefe, sigma_Tiefe);
I want to create new random numbers for every cell of the array.
Is it possible to do that without a loop or do I have to use a loop for that?
Or is it mayby easier to create arrays containing the random numbers and pass the arrays to the function?
0 个评论
采纳的回答
Aghamarsh Varanasi
2021-3-15
编辑:Aghamarsh Varanasi
2021-3-15
Hi Patrick,
Here is a small script for filling array based on another array.
% Lets say
%A = 24 3
% 22 5
% 34 2
A = [24 3; 22 5; 34 2];
B = zeros(1,sum(a(:,2)));
count = 1;
for i = 1:length(A)
idx = zeros(1,length(B));
idx(count : count + A(i,2)) = 1;
B(logical(idx)) = A(i,1);
count = count + A(i,2);
end
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!