Prev: Part specification... is neither an integer nor a list of integers
Next: Interference data in optica
From: Karpenko Alexey on 11 May 2010 06:28 Hi. Im newbie in Mathematica Product. I need to draw graph of implicit function. Implicit function have integral,and argument in lower case of it. How can i do this in Mathematica 7.0? functions: x(b,t)=(sqrt(3)-sqrt(3-2b^2*sin^2(t)))/(sqrt(3)+sqrt(3-2b^2*sin^2(t))) Phi(x(b,t))=(1+x)^3*(1-x)*e^(-x) and general equation is (implicit function for t1): integral_t1^pi/2{Phi(x(b,t))*sin(t)dt}=1/2*integral_0^pi/2{Phi(x(b,t))*sin(t)dt} b in [0,1], t in [0, pi/2] sorry 4 my bad english. thank you. With best regards, Karpenko Alexey.
From: Daniel Lichtblau on 12 May 2010 07:32 Karpenko Alexey wrote: > Hi. Im newbie in Mathematica Product. I need to draw graph of implicit function. Implicit function have integral,and argument in lower case of it. > How can i do this in Mathematica 7.0? > > functions: > x(b,t)=(sqrt(3)-sqrt(3-2b^2*sin^2(t)))/(sqrt(3)+sqrt(3-2b^2*sin^2(t))) > Phi(x(b,t))=(1+x)^3*(1-x)*e^(-x) > and general equation is (implicit function for t1): > integral_t1^pi/2{Phi(x(b,t))*sin(t)dt}=1/2*integral_0^pi/2{Phi(x(b,t))*sin(t)dt} > > b in [0,1], t in [0, pi/2] > sorry 4 my bad english. > thank you. > With best regards, Karpenko Alexey. Your function also depends on the value of b, so you will need to take that into account. Below is one way to go about this. Notice that I restrict definitions to evaluate only when passed explicitly numeric values, so that you avoid a slew of useless messages, and wasted cycles, from attempts to evaluate numeric functions (such as NIntegrate and FindRoot) on symbolic values. x[b_?NumberQ,t_?NumberQ] := (Sqrt[3]-Sqrt[3-2*b^2*Sin[t]^2])/ (Sqrt[3]+Sqrt[3-2*b^2*Sin[t]^2]) phi[x_] := (1+x)^3*(1-x)*E^(-x) myInt[b_?NumberQ, t1_?NumberQ] := NIntegrate[phi[x[b,t]]*Sin[t], {t,t1,Pi/2}] impfunc[b_?NumberQ] := t1 /. FindRoot[myInt[b,t1] == myInt[b,0]/2, {t1,Pi/4}] In[15]:= Table[impfunc[b], {b,0.,1.,1/16}] Out[15]= {1.0472, 1.04729, 1.04757, 1.04804, 1.0487, 1.04954, 1.05056, 1.05176, 1.05313, 1.05466, 1.05632, 1.05809, 1.05991, 1.06169, 1.06328, 1.06438, 1.06444} Daniel Lichtblau Wolfram Research
From: cinnabar on 12 May 2010 07:33
Hello, Alexey! The first and most simple way to do this that came to my mind is: x[b_, t_] = (Sqrt[3] - Sqrt[(3 - 2 b^2*Sin[t]^2)])/(Sqrt[3] + Sqrt[(3 - 2 b^2*Sin[t]^2)]); Phi[x1_] = (1 + x1)^3 (1 - x1) Exp[-x1]; And then just plot the equation line with ContourPlot. Note that NIntegrate is used to avoid computing integral in analytic form: ContourPlot[ NIntegrate[(Phi[x[b, tt]] Sin[tt]), {tt, t1, Pi/2}] == 1/2 NIntegrate[(Phi[x[b, tt]] Sin[tt]), {tt, 0, Pi/2}], {b, 0, 1}, {t1, 0, Pi/2}, MaxRecursion -> 10] ContourPlot can be used intrinsically to plot equations, as you can see in help section on this function. Mathematica 7 has nice Documentation Center, which is strongly suggested to read when a question arises on a function definition, arguments, etc. It has a lot of examples too and many-many guidelines, tutorials, demos etc. =D0=A3=D1=81=D0=BF=D0=B5=D1=85=D0=BE=D0=B2 =D1=81 =D0=9C=D0=B0=D1=82=D0=B5= =D0=BC=D0=B0=D1=82=D0=B8=D0=BA=D0=BE=D0=B9! =D0 =D0=BE=D0=BC=D0=B0=D0=BD |