Wolfram mathematica 带操纵的接触网

Wolfram mathematica 带操纵的接触网,wolfram-mathematica,curve,Wolfram Mathematica,Curve,我想用Mathematica表示悬链线曲线,然后允许用户操纵每个参数,如悬挂点的位置a、B、电缆的重量、重力等?我会这样做: 首先,定义接触网: catenary[x_] := a*Cosh[(x - c)/a] + y 现在,我可以使用FindRoot以数值方式找到该曲线的参数a、c和y: 或者,您可以精确求解参数: solution = Simplify[Solve[{catenary[x1] == y1, catenary[x2] == y2}, {y, c}]] 然后在操作中使用此解

我想用Mathematica表示悬链线曲线,然后允许用户操纵每个参数,如悬挂点的位置a、B、电缆的重量、重力等?

我会这样做:

首先,定义接触网:

catenary[x_] := a*Cosh[(x - c)/a] + y
现在,我可以使用FindRoot以数值方式找到该曲线的参数a、c和y:

或者,您可以精确求解参数:

solution = Simplify[Solve[{catenary[x1] == y1, catenary[x2] == y2}, {y, c}]]
然后在操作中使用此解决方案:

Manipulate[
 (
  s = (solution /. {x1 -> pt[[1, 1]], y1 -> pt[[1, 2]], 
      x2 -> pt[[2, 1]], y2 -> pt[[2, 2]], a -> \[Alpha]});
  s = Select[s, 
    Im[c /. #] == 0 && 
      Abs[pt[[1, 2]] - catenary[pt[[1, 1]]] /. # /. a -> \[Alpha]] < 
       10^-3 &];
  Show[
   Plot[catenary[x] /. s /. a -> \[Alpha], {x, -2, 2}, 
    PlotRange -> {-3, 3}, AspectRatio -> 3/2],
   Graphics[{Red, Point[pt]}]]
  ), {{\[Alpha], 1}, 0.001, 10}, {{pt, {{-1., 1.}, {1., 0.5}}}, 
  Locator}]

我会这样做:

首先,定义接触网:

catenary[x_] := a*Cosh[(x - c)/a] + y
现在,我可以使用FindRoot以数值方式找到该曲线的参数a、c和y:

或者,您可以精确求解参数:

solution = Simplify[Solve[{catenary[x1] == y1, catenary[x2] == y2}, {y, c}]]
然后在操作中使用此解决方案:

Manipulate[
 (
  s = (solution /. {x1 -> pt[[1, 1]], y1 -> pt[[1, 2]], 
      x2 -> pt[[2, 1]], y2 -> pt[[2, 2]], a -> \[Alpha]});
  s = Select[s, 
    Im[c /. #] == 0 && 
      Abs[pt[[1, 2]] - catenary[pt[[1, 1]]] /. # /. a -> \[Alpha]] < 
       10^-3 &];
  Show[
   Plot[catenary[x] /. s /. a -> \[Alpha], {x, -2, 2}, 
    PlotRange -> {-3, 3}, AspectRatio -> 3/2],
   Graphics[{Red, Point[pt]}]]
  ), {{\[Alpha], 1}, 0.001, 10}, {{pt, {{-1., 1.}, {1., 0.5}}}, 
  Locator}]

悬链线的形状是否取决于电缆的重量或重力?我想不是。悬链线的形状取决于缆绳的重量还是重力?我以为没有。非常感谢!!!完美答案!那正是我要找的!谢谢!嗨,妮基!是否有可能控制3个点的x,y?以便用户可以使用“操纵”对其进行修改,或将值设置为x坐标/y坐标?因为现在我可以用鼠标修改定位器上的点,没有任何变速器调光器。。另一个问题,我可以删除曲线的其余部分吗?我是说在A点和B点以上?非常感谢@泽勒布:当然,只需为6个坐标x1,y1,x2,y2,x3,y3设置6个变量,将值放入优化器,让绘图范围从{x,Min[x1,x2,x3],Max[x1,x2,x3]}。谢谢大家!!!完美答案!那正是我要找的!谢谢!嗨,妮基!是否有可能控制3个点的x,y?以便用户可以使用“操纵”对其进行修改,或将值设置为x坐标/y坐标?因为现在我可以用鼠标修改定位器上的点,没有任何变速器调光器。。另一个问题,我可以删除曲线的其余部分吗?我是说在A点和B点以上?非常感谢@泽勒布:当然,只需为6个坐标x1,y1,x2,y2,x3,y3设置6个变量,将这些值放入优化器,并让绘图范围从{x,Min[x1,x2,x3],Max[x1,x2,x3]}。