Rounding to a specific number

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

0 votos

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

carl chew
carl chew el 11 de Mzo. de 2013
sorry not exactly what i am looking for.
Andrei Bobrov
Andrei Bobrov el 11 de Mzo. de 2013
added.
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)

Preguntada:

el 11 de Mzo. de 2013

Comentada:

el 18 de Jul. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by