6069

該如何求取一非線性圓的方程式????

假設我有一千多各點資料

我要如何求這個非線性圓的方程式??? X=0.0039 Y= -149.549 X=-0.6487 Y=-149.5549 X=-1.3013 Y=-149.5609 X=-1.954 Y= -149.567 X=-2.6069 Y= -149.5734 X=-3.2599 Y=-149.5798 X=-3.9131 Y=-149.5864 X=-4.5665 Y= -149.5931 X=-5.2202 Y= -149.5999 X=-5.8741 Y=-149.6069. . .. . .. . .
使用Matlab來求:----------------------------------------------------------------------方法1先把這個資料檔load進Matlab中並存成變數point

point(:

1)為x座標

point(:

2)為y座標

令x(1)=圓心x座標、x(2)=圓心y座標、x(3)=半徑為你所要求的變數

則使用非線性最小方差lsqcurvefit擬合圓公式做法如下:1. 製作兩個.m檔存起來

分別去擬合上半圓與下半圓。

第一個circlefitup.m檔內容:function F=circlefitup(x

xdata)F=x(2) sqrt(x(3)^2-(xdata-x(1)).^2)第二個circlefitdown.m檔內容:function F=circlefitdown(x

xdata)F=x(2)-sqrt(x(3)^2-(xdata-x(1)).^2)2. 把point中的上半圓和下半圓的點分開。

pointup=point(find(point(:

2)

arrow
arrow
    創作者介紹
    創作者 6001 - 樂天市場 的頭像
    6001 - 樂天市場

    6001 - 樂天市場

    6001 - 樂天市場 發表在 痞客邦 留言(0) 人氣()