使用单位三角形制作一个面积为1的三角形

时间:2019-05-03 23:36:52

标签: wolfram-mathematica

我想创建一个在绘制时返回面积为1的三角形的函数。我想使用“ UnitTriangle”功能来做到这一点。

我尝试将“ UnitTriangle”乘以2(1 / x),再乘以2(1 /(Max [x] -Min [x]),再乘以Total [x],但是没有一个返回我正在寻找。

Triangle[x_] := (2*(1/x))*UnitTriangle[x];
Plot[Triangle[x], {x, -2, 2} , PlotRange -> All]

我理解为什么它不按我的要求工作(它正在为每个x输入求值),但是我不知道如何在绘制时从提供的输入列表中找到三角形的底面。

有什么想法吗?

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试一下

unitAreaTriangle[w_]:=(
  triangle[x_]:=Piecewise[{
    { 4/w^2*x+2/w,-w/2<=x<0},
    {-4/w^2*x+2/w, 0<=x<=w/2},
    {0,True}}];
  Plot[triangle[x],{x,-w,w},PlotRange->All]);
unitAreaTriangle[2]

plotUnitAreaTriangle[w_]:=Plot[
  Piecewise[{
    { 4/w^2*x+2/w,-w/2<=x<0},
    {-4/w^2*x+2/w, 0<=x<=w/2},
    {0,True}}],
  {x,-w,w},PlotRange->All];
plotUnitAreaTriangle[2]