How to Save multiple results into one array

16 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Stephen23
Stephen23 il 11 Giu 2020
n = numel(x);
xvalue = zeros(2,n);
for ii = 1:n
xvalue(:,ii) = mink(abs(Lx-x(ii)),2);
end
xvalue = xvalue(:).'

Più risposte (1)

madhan ravi
madhan ravi il 11 Giu 2020
Modificato: madhan ravi il 11 Giu 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 Commenti
Hans123
Hans123 il 11 Giu 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);
madhan ravi
madhan ravi il 11 Giu 2020
Modificato: madhan ravi il 11 Giu 2020
xvalue{ii} % had to use {}

Accedi per commentare.

Categorie

Scopri di più su Cell Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by