AnsweredAssumed Answered

find max while considering its sensitivity.

Question asked by MURPHY294 on May 17, 2006
I want to find the maxima of a function, say f(x). Normally that is not difficult since we have a built in function that finds the maximum. The problem is, that it just finds the largest value of the function. What I really want is to find the maximum of f(x) that is stable within a certain amount of change in x. For example, I have a function of IIP3 vs. Width and I want to find the
Width that gives me the largest IIP3, so I use the command: IIP3max_width_index = max_index(IIP3) and it will pop out the width that gives me the best IIP3 (Actually, it pops out the index, which I would use in IIP3max_width=Width[IIP3max_width_index]).

Unfortunately, if IIP3 contains large peaks and/or valleys, this approach could result in a
choice of width that could be very sensitive to change, i.e. if my widths are a little off, I
could end up with a very bad IIP3. So I would like to be able to tell the simulator find me the max point who’s nearest (user defined number) neighbors have IIP3's very close to those of the maximum.
So, to elaborate, if I want the Width to be insensitive to changes of 2 Width steps then f(max-2),f(max-1),f(max),f(max+1),f(max+2) would all have values that are close. Now how close and
how I would define that I'm not sure. I guess I would have to specify something like a variance of +/- 10% or something.

I have looked at various ways to use derivatives and
moving averages and the like, but it seems as though for every solution I can think of a function that will sneak by and give me a sensitive max.

Any thoughts?