确定xz平面中的位置,$ f(z,t,x)$对于$ 0的所有值都是负的<t <\ pi $

时间:2018-03-06 20:37:52

标签: wolfram-mathematica

=“”

我想在$ z - x $平面中标记区域,其中,知道函数$ f(x,z,t)$对于$ 0的所有值都是负的

我该怎么做?我不想在$ 3D $中绘制$ f $。有谁可以帮助我?

函数f(t,x,z)如下:

Re[0.125 (-21.2 + 
   Re[2 z Cos[2 t] - 
     2 z Cos[2 t]^2 + (2. E^(-I t) (E^(2 I t) (-8. - 3. x) z + 
          E^(12 I t) (-8. - 3. x) z + x z + E^(14 I t) x z + 
          E^(6 I t) (105.6 + 79.2 x - 8. z - 1. x z) + 
          E^(8 I t) (105.6 + 79.2 x - 8. z - 1. x z) + 
          E^(4 I t) (-79.2 x + 16. z + 3. x z) + 
          E^(10 I t) (-79.2 x + 16. z + 3. x z)) ((28.4 - 5. x + 
           0.25 x^2 + (-24.4 + 8. x - 0.125 x^2) Cos[
             2 t] + (-3. - 0.25 x) x Cos[4 t] + 
           0.125 x^2 Cos[6 t])^2)^(
        1/4))/(E^(2 I t) (-24. - 2. x) x + 
        E^(10 I t) (-24. - 2. x) x + x^2 + E^(12 I t) x^2 + 
        E^(4 I t) (-195.2 + 64. x - 1. x^2) + 
        E^(8 I t) (-195.2 + 64. x - 1. x^2) + 
        E^(6 I t) (454.4 - 80. x + 4. x^2))])]

2 个答案:

答案 0 :(得分:1)

编辑:我将你的帖子读作“所有t值”。对于0<t<Pi,您可以使用此方法并将约束添加到Maximize(未经测试)。

蛮力..(警告这需要半小时)

(tab = Flatten[
    Table[ {x, y, Maximize[f[x, y, t], t][[1]]} , {x, -100, 100, 
      2}, {y, -100, 100, 2}], 1]) // AbsoluteTiming
Graphics[{Red, Point[Cases[tab, {x_, y_, t_ /; t <= 0} :> {x, y}]]}, 
 Axes -> True, PlotRange -> {{-100, 100}, {-100, 100}}]

enter image description here

引发了一些收敛警告。我没有调查,但那些可能是那些孤立的缺失像素..

这里有约束:Maximize[f[x, y, t], 0 < t <= Pi, t]

enter image description here

答案 1 :(得分:0)

可以使用RegionPlot3D查看表达式expr某些zx域上的RegionPlot3D[expr < 0, {z, -100, 100}, {t, 0, π}, {x, -100, 100}, AxesLabel -> Automatic ] 区域。

Manipulate[
 SliceContourPlot3D[expr,
  {"YStackedPlanes", {tStar}},
  {z, -100, 100}, {t, 0, \[Pi]}, {x, -100, 100},
  Contours -> {0},
  ContourShading -> {LightGray, None},
  PlotPoints -> ControlActive[10, 50],
  AxesLabel -> Automatic
  ]
 ,
 {{tStar, 0}, 0, \[Pi]}
 ]
  

enter image description here

旋转它会显示该区域很复杂。

有几种选项可用于查看z-x平面的切片。 SliceContourPlot3D是个好人。将其与Manipulate

结合使用
Manipulate
  

enter image description here

还有ContourPlot Manipulate[ ContourPlot[expr /. t -> tStar, {z, -100, 100}, {x, -100, 100}, Contours -> {0}, ContourShading -> {LightGray, None}, PlotPoints -> ControlActive[5, 40] ] , {{tStar, 0}, 0, \[Pi]} ]

export class OverworldComponent extends React.Component<OverworldComponentProps, {}> {
    render() {
        return <b>Hello, world!</b>
    }
}
  

enter image description here

希望这有帮助。

PS:您可能需要刷新或点击图像才能看到GIF动画。