求助,ContourPlot3D为啥没出正确结果
mathematica吧
全部回复
仅看楼主
level 2
如图,ContourPlot3D的结果按理说至少有一条线吧
2023年04月27日 08点04分 1
level 2
ContourPlot3D[(-8 n^2 - 4 n)/(
3 ((-2 n)/3)^(1/
a) ((-3^(1 - a)/2^(1 - a))^(1/(2 a - 1)) *n - (2 a (n + 1) na)/(
2 a - 1))^((2 a - 1)/a)) == -0.04, {n, -10, 0}, {a, 0.5, 2}, {na,
55, 65}]
2023年04月27日 08点04分 2
level 2
ContourPlot[-((-4 n - 8 n^2)/(
2 n (-n - 2 (1 + n) na))) == -0.04, {n, -10, 0}, {na, 55, 65}]
2023年04月27日 08点04分 3
这是a取1的情况
2023年04月27日 08点04分
level 9
我认为函数在ContourPlot3D后没有结果是因为函数等值面在体积中不存在。虽然在a = 1存在等值线,但是函数在体积中只有无穷小体积为实数,也就是a为其他情况的运算使得函数的值为复数,可以在函数前加Re[]只取实数部分强行出图
ContourPlot3D[
Re[(-8 n^2 -
4 n)/(3 ((-2 n)/3)^(1/
a) ((-3^(1 - a)/2^(1 - a))^(1/(2 a - 1))*
n - (2 a (n + 1) na)/(2 a - 1))^((2 a - 1)/
a))] == -0.04, {n, -10, 0}, {a, 0.5, 2}, {na, 55, 65}]
2023年04月27日 09点04分 4
大佬,有办法判定这条线是唯一一条函数为实数的线么
2023年04月27日 09点04分
图在下面
2023年04月27日 09点04分
level 2
2023年04月27日 09点04分 5
level 9
从数学角度你可以
FullSimplify[(-8 n^2 -
4 n)/(3 ((-2 n)/3)^(1/
a) ((-3^(1 - a)/2^(1 - a))^(1/(2 a - 1))*
n - (2 a (n + 1) na)/(2 a - 1))^((2 a - 1)/a))]
看看函数的表达式进行判定
从数值角度,我现在画出两个曲面的交叉曲线
z = FullSimplify[(-8 n^2 -
4 n)/(3 ((-2 n)/3)^(1/
a) ((-3^(1 - a)/2^(1 - a))^(1/(2 a - 1))*
n - (2 a (n + 1) na)/(2 a - 1))^((2 a - 1)/a))];
h = Re[z];
g = Im[z];
ContourPlot3D[{h == -4/100, g == 0}, {n, -10, 0}, {a, 1/2, 2}, {na,
55, 65}, AxesLabel -> {"n", "a", "na"},
MeshFunctions -> {Function[{n, a, na, f}, h - g]},
MeshStyle -> {{Thick, Black}}, Mesh -> {{0}},
ContourStyle -> {Directive[Orange, Opacity[0.5],
Specularity[White, 30]],
Directive[Blue, Opacity[0.5], Specularity[White, 30]]}]
唉,这个图形很不好说了
2023年04月27日 11点04分 6
level 10
这个问题的关键是如何理解诸如 ( -0.123 )^0.321 这样的幂, 要是我就改成 -(0.123)^0.321,
比如你的 (-3^(1 - a)/2^(1 - a))^(1/(2 a - 1))*n 是不是改成 -(3^(1 - a)/2^(1 - a))^(1/(2 a - 1))*n,
这样立即出图(只是移动一下负号的位置).
2024年01月29日 00点01分 8
1