从图像或pdf曲线拟合

时间:2016-09-14 17:45:42

标签: r statistics regression curve-fitting data-science

我从pdf文件中复制了一堆像IGBT characteristics这样的图像。我希望提取数据并做一些曲线拟合。

  1. 我尝试手动使用Engauge Digitizer软件从图像IGBT Vce vs Ic @ Tvj three curve's data .csv files中提取数字数据。您可以在图像中看到三条曲线,每条曲线都取决于温度Tvj。我需要为每条曲线拟合等式
  2. Vce25 = a25 * Ic + b25 * log(Ic)+ c25 ---(1)a25,b25,c25是Tvj = 25C的系数,

    类似地,我们可以得到温度为125℃的Vce125和Vce150方程式。我需要将这三条曲线组合为单个方程{Vce = f(Ic,Tvj)}系数作为温度依赖性。我需要估算任何给定的Ic和Tvj的Vce(例如:在Ic = 200,Tvj = 50C Vce =?),如何组合方程式。

    1. 如何在R?
    2. 中执行此操作

      Vce - >电压,Ic - > current,Tvj - >温度

1 个答案:

答案 0 :(得分:1)

使用样条回归。您将需要从图像中读取一组[x,y]对,并选择其中一些作为分段线性回归模型的结。请参阅下面的示例并按照说明进行操作。

  1. 获取一组代表性的[x,y]坐标。
  2. 识别结点并记下x坐标。
  3. 构建设计矩阵
  4. 适合分段线性模型
  5. 剧情
  6. 1:获取一组代表性的[x,y]坐标。为了便于说明,我从嘈杂的正弦波中生成了[x,y]样本。您需要读取图像。

    # Make a noisy sine-waver over two cycles with 500 samples
    n <- 500
    x <- seq(0, 4*pi, length=n)
    y <- sin(x) + rnorm(n, sd=0.33)
    plot(x, y)
    

    2:识别结和注释x坐标。我用了12节来说明。

    # Add 12 knots
    knots <- seq(0, 4*pi, length=12)
    

    3:构建设计矩阵

    splineTerms <- sapply(knots, function(knot) (x > knot)*(x-knot))
    designMatrix <- cbind(1, x, splineTerms)
    

    4:拟合分段线性模型

    sticksModel <- lm(y ~ designMatrix - 1) # Intercept included in design
    yHat <- predict(sticksModel)
    

    5:绘图

    plot(x, y, pch=21, col="blue", cex=2)
    lines(x, yHat, col="red", lwd=4)
    

    我对热电偶和其他非线性传感器采用了这个过程,并且工作非常可靠。