You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何绘制特征值函数的等高线图?右上曲线非直线原因咨询

特征值函数等高线图右上角线条非笔直的原因

首先可以简化你的特征值求和逻辑:矩阵的特征值之和等于矩阵的迹(主对角线元素之和)。你定义的3x3矩阵主对角线元素是5、2、x,因此特征值之和直接等于 5+2+x=7+x——这个值只和x有关,理论上等高线应该是垂直于x轴的直线。

但你的图中右上角线条不笔直,主要有两个核心原因:

1. 特征值计算的浮点误差

虽然理论上特征值之和等于迹,但eigen()函数在计算数值特征值时,会因矩阵条件数(比如x、y取值较大时矩阵元素差异显著)产生微小的浮点误差。这些误差会让M矩阵中同一x值对应的不同y值结果出现极细微偏差,在稀疏网格下被插值放大,导致等高线边缘出现弯曲。

2. 网格分辨率过低

你的代码仅使用6x6的稀疏网格(len=6),contour()函数绘制时会对稀疏采样点进行线性插值以生成平滑等高线。稀疏采样点会放大插值算法的误差,尤其是在网格边缘(比如右上角),最终导致线条看起来不笔直。

验证与修复方法

  • 简化函数消除浮点误差:直接用迹计算替代特征值求和,彻底避免数值误差:
    P <- function(v){
      x <- v[1]
      return(7 + x)
    }
    
  • 提高网格分辨率:将len设置为更大的值(比如100),让采样点更密集,插值后的等高线会更接近理论上的笔直状态:
    xgrid <- seq(from=1, to=6, len=100)
    ygrid <- seq(from=1, to=6, len=100)
    

内容的提问来源于stack exchange,提问作者Scott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:42:31