First I would like to say that I have searched the for uncertain fitting, robust fitting, linear optimization, convex optimization, etc. But I'm lacking the knowledge to solve this problem, and I need your help.

I have a function gnom(x) = sin(x)*cos(x) and an uncertain part dg(x) = alpha*sin(8x)

and g(x) = gnom(x) + dg(x)

I have the function sampled, it means that:

k = -47:1:47;

x = 0.021*k;

But I don't have alpha, but it is bounded: 0 <= alpha <= 0.2

I want to find the upper and lower bounds of g(x). This means finding alpha that maximizes g(x) and alpha that minimizes g(x). Two separate problems.

I'm almost sure that these problems (individually) can be written as a optimization problem in the form:

max g(x) = sin(x)*cos(x) + alpha*sin(8x)

s.t. 0 <= alpha <= 0.2

BUT since I have the function SAMPLED it should not be this difficult (non linear optimization). I could write the problem as:

max G1 + alpha*G2

s.t. 0 <= alpha <= 0.2


G1 = sin(x)*cos(x) SAMPLED with x = 0.021*k; (as defined before). G1 is a <95x1 double>

G2 = sin(8x) SAMPLED with x = 0.021*k; (as defined before). G2 is a <95x1 double>


alpha is the constant to be found

I would like this to be solved as an optimization problem (matlab or SeDuMi native commands) and not algorithmically (with for loops, etc). I need this because there are more complicated optimizations that need to be solved...

I know that this is not hard, but I've searched a lot and could not find an answer... I hope you guys can help me.

Thank you very much

  • $\begingroup$ This was cross-posted at Math.StackExchange $\endgroup$
    – horchler
    Aug 30 '14 at 15:16
  • $\begingroup$ ok, but what does this mean? I can't do that? Because if it is that I'll close it here $\endgroup$ Aug 30 '14 at 15:19
  • 1
    $\begingroup$ It's bad form to post across the Stack* sites. If you end up deciding that a question might be better suited on anther site, you can flag it and ask a moderator to move it. See this, this, and this, for further commentary. $\endgroup$
    – horchler
    Aug 30 '14 at 15:29
  • $\begingroup$ Ok sorry, I didn't know. I wont do this again $\endgroup$ Aug 30 '14 at 15:39
  • $\begingroup$ I misinterpreted the optimization problem. I wrote an algorithm to evaluate the function and I discovered that. Still, no native matlab function to solve what I asked... $\endgroup$ Aug 30 '14 at 16:31

You're trying to solve an optimization problem for a function that is not convex nor has any other useful properties. This can only be solved by algorithms for "global optimization problem", which are generally very complicated. On the other hand, since in your case the problem is one-dimensional, sampling as you do seems like a completely reasonable approach.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.