m0_62581082 2023-03-19 16:46 采纳率: 100%
浏览 98
已结题

Mathematica 隐函数方程组 求解 画图

有两个方程,第一个方程含有(x y)第二个方程含有(x y z)利用findroot可以画出方程一中(x y)的图像,如何画出(x z)的图像呢

或者如何把一个table中的点集代入到另一个方程中,形成新的table

img

  • 写回答

4条回答 默认 最新

  • dahe0825 2023-03-19 17:21
    关注

    参考GPT和自己的思路,对于含有(x y)和(x y z)的两个方程,如果想要求解隐函数方程组并绘制(x z)图像,可以使用以下步骤:

    1.定义方程组:
    假设第一个方程为f[x,y]==0,第二个方程为g[x,y,z]==0。在Mathematica中,可以通过定义一个函数来表示方程组:

    eqns[x_, y_, z_] := {f[x, y] == 0, g[x, y, z] == 0}
    

    2.使用FindRoot解出隐函数方程组:
    使用FindRoot可以求解方程组,例如:

    sol = FindRoot[eqns[x, y, z], {{x, x0}, {y, y0}, {z, z0}}]
    
    

    3.其中,x0、y0和z0是初始值,sol是求解的结果。

    提取(x,z)坐标点:
    由于我们只需要绘制(x,z)图像,因此可以将(x,y)坐标固定,仅提取(x,z)坐标点。例如,假设我们想要将y=1时的(x,z)坐标点提取出来,可以使用以下代码:

    points = Table[{x, z /. sol}, {x, xmin, xmax, dx}]
    
    

    其中,xmin、xmax和dx是(x,z)坐标轴的范围和步长。

    4.绘制图像:
    最后,使用ListPlot绘制点集即可:

    ListPlot[points, PlotRange -> {{xmin, xmax}, {zmin, zmax}}]
    
    

    这样就可以绘制出隐函数方程组的(x,z)图像了。

    另外,如果要将一个table中的点集代入到另一个方程中,可以使用Map或Table函数。例如,假设我们有一个包含(x,y)坐标点的点集data,我们想要将这些点代入到方程f[x,y,z]中,可以使用以下代码:

    result = Table[f[data[[i,1]],data[[i,2]],z],{i,1,Length[data]}]
    

    其中,data[[i,1]]和data[[i,2]]分别表示点集中第i个点的x和y坐标,result是代入后的结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 创建了问题 3月19日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度