Re: Basic plotting of an evaluated function
- To: mathgroup at smc.vnet.net
- Subject: [mg86906] Re: Basic plotting of an evaluated function
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 26 Mar 2008 04:48:36 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <fsa5cd$ab2$1@smc.vnet.net>
lederer at ssb.rochester.edu wrote:
> I have some function in two varaibles
>
> f[x_,y_]= some arbitrary polynomial
>
> Now I want to minimize the function with respect to y over some
> compact interval with fixed x
>
> NMinimize[{f[x,y],y=995,y=989},y]
There are two syntax errors in the above line:
First, the expression y = 995 _assigns_ the integer value 995 to the
symbol y. What you had in mind was the comparison operator for equality,
which is written as a double equal sign == in Mathematica. (See Set, =,
and Equal, ==, and also SameQ, ===, in the online documentation.)
Second, NMinimize accepts constraints expressed in the form of
inequalities and domain specification. Therefore, your expression should
read,
Minimize[{f[x, y], 989 <= y <= 995}, y]
> I want to plot the y's versus the x's.
>
> I have tried many things like defining
>
> s[x_]=Part[NMinimize[{f[x,y],y=995,y=989},y],2]
Using SetDelayed, :=, and the replacement operator /. should work here.
s[x_] := y /. Last@NMinimize[{f[x, y], 989 <= y <= 995}, y]
> Plot[s[x],{x,-14, 46}]
<snip>
The following expressions are a working example of what you are looking for.
f[x_, y_] := x^2 - 3 y^2 + x y + 10
s[x_] := y /. Last@NMinimize[{f[x, y], 989 <= y <= 995}, y]
Plot[s[x], {x, -14, 46}]
Hope this helps,
--
Jean-Marc