MATLAB Answers

How to Save multiple results into one array

5 views (last 30 days)
Hans123
Hans123 on 11 Jun 2020
Edited: madhan ravi on 11 Jun 2020
This seems simple, but I can't wrap my head around it
I am trying to save 2 variables that are output from the mink, where k=2, function into a single array
the results should be consecutive and be in a horizontal array, such that - for the first iteration the output was 4 and 6 and the second iteration the outputs are 8 and 9
so the array should be xval = [4,6,7,8..]
Below is the code I was working with however it did not work, any help is appreciated
xvalue=zeros(2*length(x),1);
for i=1:length(x)
xvalue(i)=mink(abs(Lx-x(i)),2); %
end

  0 Comments

Sign in to comment.

Accepted Answer

Stephen Cobeldick
Stephen Cobeldick on 11 Jun 2020
n = numel(x);
xvalue = zeros(2,n);
for ii = 1:n
xvalue(:,ii) = mink(abs(Lx-x(ii)),2);
end
xvalue = xvalue(:).'

  0 Comments

Sign in to comment.

More Answers (1)

madhan ravi
madhan ravi on 11 Jun 2020
Edited: madhan ravi on 11 Jun 2020
xvalue = cell(numel(x),1);
for ii = 1:numel(x)
xvalue(ii) = mink(abs(Lx-x(ii)),2);
end
celldisp(xvalue)
cat(2,xvalue{:})

  2 Comments

Hans123
Hans123 on 11 Jun 2020
thanks for the input, madhan
I get an error that I have pasted below, could you break down this process - also is there a method that circumvents the use of cells
Conversion to cell from double is not possible.
Error in load_point_charges (line 65)
xvalue(ii) = mink(abs(Lx-x(ii)),2);

Sign in to comment.

Tags


Translated by