6069

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

假設我有一千多各點資料

我要如何求這個非線性圓的方程式???0 X=0.0039 Y= -149.5491-0.6487 -149.55492-1.3013 -149.56093-1.954 -149.5674-2.6069 -149.57345-3.2599 -149.57986-3.9131 -149.58647-4.5665 -149.59318-5.2202 -149.59999-5.8741 -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 - 樂天市場 發表在 痞客邦 留言(0) 人氣()