level 7
云淡风轻_2024
楼主
我最近写论文需要画出一个表达式很复杂的函数在区间(0,1)上的图像。我写的代码如下:
Plot[(a^((-2 + a)/(-1 + a)) (-4 + a^(1/(1 - a))) (-2 + a^(1/(1 - a)) + 4 a^(-(a/(-1 + a))) + 2 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (a - a^2 + 4 a^(1/(-1 + a)) - 8 a^(a/(-1 + a)) + 4 a^((-1 + 2 a)/(-1 + a)) + a Log[a]))/((-1 + a)^2 (-3 + a^(1/(1 - a)) + 2 a^(-(a/(-1 + a))) + a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (-8 + a + 6 a^(1/(1 - a)) + 16 a^(-(a/(-1 + a))) + 8 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + a^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])) + (a (-4 + a^(1/(1 - a)))^2 (-2 + a^(1/(1 - a)) + 4 a^(-(a/(-1 + a))) + 2 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (-3 + 2 a^(-(a/(-1 + a))) + (a^(1/(1 - a)) (2 + a) (-1 + a - Log[a]))/(-1 + a)^2 + (a^((1 - 3 a)/(-1 + a)) (4 - 11 a + 4 a^2 + 3 a^3 - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)) + 10 a^((-1 + 2 a)/(-1 + a)) - 6 a^((-2 + 3 a)/(-1 + a)) - 2 a^(1 + (2 a)/(-1 + a)) + a^(2 + (2 a)/(-1 + a)) + (-4 a - 2 a^2 + 2 a^((-1 + 2 a)/(-1 + a))) Log[a]))/((-1 + a)^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])))/(2 (-3 + a^(1/(1 - a)) + 2 a^(-(a/(-1 + a))) + a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])^2 (-8 + a + 6 a^(1/(1 - a)) + 16 a^(-(a/(-1 + a))) + 8 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + a^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])) - (a (-4 + a^(1/(1 - a)))^2 (-2 + 4 a^(-(a/(-1 + a))) + (a^(1/(1 - a)) (4 + a) (-1 + a - Log[a]))/(-1 + a)^2 + (2 a^((1 - 3 a)/(-1 + a)) (4 - 11 a + 4 a^2 + 3 a^3 - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)) + 10 a^((-1 + 2 a)/(-1 + a)) - 6 a^((-2 + 3 a)/(-1 + a)) - 2 a^(1 + (2 a)/(-1 + a)) + a^(2 + (2 a)/(-1 + a)) + (-4 a - 2 a^2 + 2 a^((-1 + 2 a)/(-1 + a))) Log[a]))/((-1 + a)^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])))/(2 (-3 + a^(1/(1 - a)) + 2 a^(-(a/(-1 + a))) + a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (-8 + a + 6 a^(1/(1 - a)) + 16 a^(-(a/(-1 + a))) + 8 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + a^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])) + (a^2 (-4 + a^(1/(1 - a)))^2 (-2 + a^(1/(1 - a)) + 4 a^(-(a/(-1 + a))) + 2 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (1 - 8/a + 2 a^((1 - 2 a)/(-1 + a)) (8 + 3 a) + 8 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + (a^((1 - 3 a)/(-1 + a)) (4 - 11 a + 4 a^2 + 3 a^3 - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)) + 10 a^((-1 + 2 a)/(-1 + a)) - 6 a^((-2 + 3 a)/(-1 + a)) - 2 a^(1 + (2 a)/(-1 + a)) + a^(2 + (2 a)/(-1 + a)) + (-4 a - 2 a^2 + 2 a^((-1 + 2 a)/(-1 + a))) Log[a]))/((-1 + a)^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) + 1/a (-8 + 16 a^(-(a/(-1 + a))) + (2 a^(1/(1 - a)) (8 + 3 a) (-1 + a - Log[a]))/(-1 + a)^2 + (8 a^((1 - 3 a)/(-1 + a)) (4 - 11 a + 4 a^2 + 3 a^3 - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)) + 10 a^((-1 + 2 a)/(-1 + a)) - 6 a^((-2 + 3 a)/(-1 + a)) - 2 a^(1 + (2 a)/(-1 + a)) + a^(2 + (2 a)/(-1 + a)) + (-4 a - 2 a^2 + 2 a^((-1 + 2 a)/(-1 + a))) Log[a]))/((-1 + a)^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]))))/(2 (-3 + a^(1/(1 - a)) + 2 a^(-(a/(-1 + a))) + a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (-8 + a + 6 a^(1/(1 - a)) + 16 a^(-(a/(-1 + a))) + 8 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + a^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])^2), {a, 0, 1}, AxesOrigin -> {0, 0}, WorkingPrecision -> 1000]。
运行结果如下图所示:

我把精度调到了 “WorkingPrecision -> 1000”,但是做出的函数图像在 a=0 处仍然是不准确的。
这个函数在 a=0 和 a=1 这两点无定义,但是这两点的极限值存在。用mma很容易求出当 a -> 0+ 时,这个函数的极限等于0。所以这个函数在区间(0,1)上的图像应该经过原点,但是图中的函数图像纵截距却是正数,图像没有经过原点。
请问该如何修改代码,才能做出准确的函数图像呢(即图像通过原点)?
2022年03月26日 21点03分
1
Plot[(a^((-2 + a)/(-1 + a)) (-4 + a^(1/(1 - a))) (-2 + a^(1/(1 - a)) + 4 a^(-(a/(-1 + a))) + 2 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (a - a^2 + 4 a^(1/(-1 + a)) - 8 a^(a/(-1 + a)) + 4 a^((-1 + 2 a)/(-1 + a)) + a Log[a]))/((-1 + a)^2 (-3 + a^(1/(1 - a)) + 2 a^(-(a/(-1 + a))) + a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (-8 + a + 6 a^(1/(1 - a)) + 16 a^(-(a/(-1 + a))) + 8 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + a^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])) + (a (-4 + a^(1/(1 - a)))^2 (-2 + a^(1/(1 - a)) + 4 a^(-(a/(-1 + a))) + 2 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (-3 + 2 a^(-(a/(-1 + a))) + (a^(1/(1 - a)) (2 + a) (-1 + a - Log[a]))/(-1 + a)^2 + (a^((1 - 3 a)/(-1 + a)) (4 - 11 a + 4 a^2 + 3 a^3 - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)) + 10 a^((-1 + 2 a)/(-1 + a)) - 6 a^((-2 + 3 a)/(-1 + a)) - 2 a^(1 + (2 a)/(-1 + a)) + a^(2 + (2 a)/(-1 + a)) + (-4 a - 2 a^2 + 2 a^((-1 + 2 a)/(-1 + a))) Log[a]))/((-1 + a)^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])))/(2 (-3 + a^(1/(1 - a)) + 2 a^(-(a/(-1 + a))) + a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])^2 (-8 + a + 6 a^(1/(1 - a)) + 16 a^(-(a/(-1 + a))) + 8 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + a^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])) - (a (-4 + a^(1/(1 - a)))^2 (-2 + 4 a^(-(a/(-1 + a))) + (a^(1/(1 - a)) (4 + a) (-1 + a - Log[a]))/(-1 + a)^2 + (2 a^((1 - 3 a)/(-1 + a)) (4 - 11 a + 4 a^2 + 3 a^3 - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)) + 10 a^((-1 + 2 a)/(-1 + a)) - 6 a^((-2 + 3 a)/(-1 + a)) - 2 a^(1 + (2 a)/(-1 + a)) + a^(2 + (2 a)/(-1 + a)) + (-4 a - 2 a^2 + 2 a^((-1 + 2 a)/(-1 + a))) Log[a]))/((-1 + a)^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])))/(2 (-3 + a^(1/(1 - a)) + 2 a^(-(a/(-1 + a))) + a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (-8 + a + 6 a^(1/(1 - a)) + 16 a^(-(a/(-1 + a))) + 8 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + a^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])) + (a^2 (-4 + a^(1/(1 - a)))^2 (-2 + a^(1/(1 - a)) + 4 a^(-(a/(-1 + a))) + 2 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (1 - 8/a + 2 a^((1 - 2 a)/(-1 + a)) (8 + 3 a) + 8 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + (a^((1 - 3 a)/(-1 + a)) (4 - 11 a + 4 a^2 + 3 a^3 - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)) + 10 a^((-1 + 2 a)/(-1 + a)) - 6 a^((-2 + 3 a)/(-1 + a)) - 2 a^(1 + (2 a)/(-1 + a)) + a^(2 + (2 a)/(-1 + a)) + (-4 a - 2 a^2 + 2 a^((-1 + 2 a)/(-1 + a))) Log[a]))/((-1 + a)^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) + 1/a (-8 + 16 a^(-(a/(-1 + a))) + (2 a^(1/(1 - a)) (8 + 3 a) (-1 + a - Log[a]))/(-1 + a)^2 + (8 a^((1 - 3 a)/(-1 + a)) (4 - 11 a + 4 a^2 + 3 a^3 - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)) + 10 a^((-1 + 2 a)/(-1 + a)) - 6 a^((-2 + 3 a)/(-1 + a)) - 2 a^(1 + (2 a)/(-1 + a)) + a^(2 + (2 a)/(-1 + a)) + (-4 a - 2 a^2 + 2 a^((-1 + 2 a)/(-1 + a))) Log[a]))/((-1 + a)^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]))))/(2 (-3 + a^(1/(1 - a)) + 2 a^(-(a/(-1 + a))) + a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))]) (-8 + a + 6 a^(1/(1 - a)) + 16 a^(-(a/(-1 + a))) + 8 a Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))] + a^2 Sqrt[a^(-2 - (2 a)/(-1 + a)) (4 + 2 a - 4 a^(a/(-1 + a)) + a^((2 a)/(-1 + a)))])^2), {a, 0, 1}, AxesOrigin -> {0, 0}, WorkingPrecision -> 1000]。
运行结果如下图所示:

我把精度调到了 “WorkingPrecision -> 1000”,但是做出的函数图像在 a=0 处仍然是不准确的。这个函数在 a=0 和 a=1 这两点无定义,但是这两点的极限值存在。用mma很容易求出当 a -> 0+ 时,这个函数的极限等于0。所以这个函数在区间(0,1)上的图像应该经过原点,但是图中的函数图像纵截距却是正数,图像没有经过原点。
请问该如何修改代码,才能做出准确的函数图像呢(即图像通过原点)?