Heron의 공식 또는이 질문을 해결하는 다른 방법에 대한 질문

Nov 18 2020
f[x_] := x^3;
df[x_] = f'[x];

tan[x_, x0_] := f[x0] + df[x0] (x - x0)
With[{x0 = 1.2}, NSolve[tan[x, x0] == f[x], x]]
With[{x1 = -2.4}, NSolve[tan[x, x1] == f[x], x]]

Module[{x, pts, names, offsets, ptlbls, arealbls},
   x[0] = 1.2; x[1] = -2.4; x[2] = 4.8;
   pts = {{x[0], f[x[0]]}, {x[1], f[x[1]]}, {x[2], f[x[2]]}};
   names = {"Fun1", "Fun2", "Fun3"};
   offsets = {{10, -10}, {10, -10}, {-15, 3}}; 
   ptlbls = MapThread[Text[#1, Offset[#2, #3]] &, {names, offsets, pts}];
   arealbls = {
     Text["A", Offset[{-20, 2}, (pts[[1]] + pts[[2]])/2]],
     Text["B", Offset[{0, -35}, (pts[[2]] + pts[[3]])/2]]
   }; 
   Plot[
     Evaluate@{f[x], tan[x, x[0]], tan[x, x[1]]}, 
     {x, -3, 5},
     Epilog -> {ptlbls, {Red, AbsolutePointSize[5], Point[pts]}, arealbls}
   ]
]

B 지역은 어떻게 찾나요? 재미 2와 재미 3 사이에 있습니다. Heron의 공식을 사용해야합니까? 그렇다면 어떻게?

누군가가 나에게 그것을 설명하여 어떻게 얻었는지 이해할 수 있습니까? 아니면 무엇을해야하는지 알려주세요?

답변

2 cvgmt Nov 18 2020 at 06:43

편집하다

두 영역의 비율을 확인하기 위해 16레이블을 변경 x0,x1,x2하고 코드를 다시 작성합니다.

f[x_] = x^3;
tan[x_, p_] = f[p] + f'[p] (x - p);
p1[x0_] = x /. Solve[tan[x0, x] == f[x0] && x != x0, x] // First
p2[x0_] = x /. Solve[tan[x, x0] == f[x] && x != x0, x] // First
x0 = -3.2 // Rationalize;
reg1 = ImplicitRegion[{x0 <= x <= p1[x0], 
    tan[x, p1[x0]] <= y <= f[x]}, {x, y}];
reg2 = ImplicitRegion[{x0 <= x <= p2[x0], 
    f[x] <= y <= tan[x, x0]}, {x, y}];
dom1 = RegionPlot[reg1, PlotStyle -> LightRed, 
   PlotLabels -> Placed[reg1 // Area, Bottom]];
dom2 = RegionPlot[reg2, PlotStyle -> LightBlue, 
   PlotLabels -> Placed[reg2 // Area, Center]];
fig = Plot[{f[x], tan[x, x0], tan[x, p1[x0]]}, {x, -4 - 1, 
    p2[x0] + 1}];
Show[fig, dom1, dom2, PlotRange -> All, Axes -> False, 
 AspectRatio -> 1]
Area[reg2]/Area[reg1]

-2 x0, -(x0/2),16

실물

f[x_] := x^3;
x0 = 1.2 // Rationalize;
tan[x_, x0_] := f[x0] + Derivative[1][f][x0] (x - x0);
x1 = x /. Solve[tan[x, x0] == f[x] && x != x0, x] // First;
x2 = x /. Solve[tan[x, x1] == f[x] && x != x1, x] // First;
fig = Plot[{f[x], tan[x, x0], tan[x, x1]}, {x, -3, 6}, 
   AspectRatio -> 1];
reg1 = ImplicitRegion[{x1 <= x <= x0, tan[x, x0] <= y <= f[x]}, {x, 
    y}];
reg2 = ImplicitRegion[{x1 <= x <= x2, f[x] <= y <= tan[x, x1]}, {x, 
    y}];
dom1 = RegionPlot[reg1, PlotStyle -> LightRed, 
   PlotLabels -> Placed[reg1 // Area, Bottom]];
dom2 = RegionPlot[reg2, PlotStyle -> LightBlue, 
   PlotLabels -> Placed[reg2 // Area, Center]];
Show[fig, dom1, dom2, Axes -> False]
{reg1, reg2} // Area
{8748/625, 139968/625} // Total // N
237.946

1 MarcoB Nov 18 2020 at 04:57

이것이 당신에게 효과가 있습니까?

Area@
 With[{x0 = 1.2, x1 = -2.4},
   ImplicitRegion[
     {y <= tan[x, x1], y >= tan[x, x0], y >= f[x]},
     {{x, -3, 5}, y}
   ]
 ]

(* Out: 223.949 *)