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)
留言列表