The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.matlab

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: match matrix to closest values
Replies: 5   Last Post: Jun 16, 2013 3:34 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]

Posts: 2
Registered: 6/9/13
Re: match matrix to closest values
Posted: Jun 15, 2013 6:46 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <kp594s$rpl$>...
> dpb <> wrote in message <kp5433$adc$>...
> > On 6/9/2013 5:50 PM, Y wrote:
> >
> > I'd guess could be written w/ bsxfun() but didn't try it...not that it
> > would likely perform any better...

> bsxfun is much safer in term of memory consumption. It is always preferable method.
> Back to the question, there is no need to compare all the pairs. This should do:
> h = unique(haystack(:))
> val = interp1(h,h,needle,'nearest')
> % Bruno

That's a good way to use interp1 I wasn't aware of, thanks.
Do you have a suggestion on how to get back the indices back from interp1? Or is the best one find(ismember(h,val))?

My application has lambdas_ewald_hkl (3D matrix), lambdas (vector) and spectrum_intensity (vector), and needs the spectrum_intensity matching (in indices) spectrum_intensity closest to each value in lambdas. That is, I now use:

[~,lambda_indices_hkl] = closest(lambdas, lambdas_ewald_hkl);
lambda_intensities_hkl = spectrum_intensity(lambda_indices_hkl);

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.