我想在$ 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))])]
答案 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}}]
引发了一些收敛警告。我没有调查,但那些可能是那些孤立的缺失像素..
这里有约束:Maximize[f[x, y, t], 0 < t <= Pi, t]
答案 1 :(得分:0)
可以使用RegionPlot3D
查看表达式expr
某些z
和x
域上的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]}
]
旋转它会显示该区域很复杂。
有几种选项可用于查看z-x平面的切片。 SliceContourPlot3D
是个好人。将其与Manipulate
Manipulate
还有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>
}
}
希望这有帮助。
PS:您可能需要刷新或点击图像才能看到GIF动画。