Rounding to a specific number

6 visualizaciones (últimos 30 días)
carl chew
carl chew el 11 de Mzo. de 2013
Comentada: Ícar el 18 de Jul. de 2021
I am using excel and matlab together. I have a gui interface. One text edit box is used to input any number desired. I would like to take that number and round it to the nearest value that is in my excel spreadsheet. For example, if I input the number 148 and my excel sheet has values 140, 155, 161. I want matlab to round to the nearest value in excel.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 11 de Mzo. de 2013
Editada: Andrei Bobrov el 11 de Mzo. de 2013
x = randi([137,149],10,1);
out = round(x/5)*5;
ADD
s = xlsread('yourfile.xlsx'); % data from Excel -> [140;155;166]
x = randi([136,166],10,1); %let this is your data
[~,ii] = min(bsxfun(@(x,y)abs(x-y),s(:).',x(:)),[],2);
out = s(ii);
  4 comentarios
Kirankumar Bacchewar
Kirankumar Bacchewar el 30 de Nov. de 2020
@Andrei, could you please explain the function you added.
Ícar
Ícar el 18 de Jul. de 2021
@Kirankumar Bacchewar that function computes the error between each position in s and x (the data points), and looks for the minimum error, meaning the two values that are closest together.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by