国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

標(biāo)準(zhǔn)二維圓擬合(matlab代碼)

這篇具有很好參考價(jià)值的文章主要介紹了標(biāo)準(zhǔn)二維圓擬合(matlab代碼)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.圓方程定義

常規(guī)圓方程定義為
( x ? x 0 ) 2 + ( y ? y 0 ) 2 = r 2 (x-x_0)^2+(y-y_0)^2 = r^2 (x?x0?)2+(y?y0?)2=r2
可以改寫為
x 2 + y 2 + a x + b y + c = 0. x^2+y^2+ax+by+c=0. x2+y2+ax+by+c=0.
其中 a = ? 2 x 0 , b = ? 2 y 0 , c = x 0 2 + y 0 2 ? r 2 a=-2x_0,b=-2y_0,c={x_0}^2+{y_0}^2-r^2 a=?2x0?,b=?2y0?,c=x0?2+y0?2?r2

2.最小能量函數(shù)定義

要使得圓方程最為準(zhǔn)確,則要是所有的點(diǎn)盡可能滿足方程,因此需使函數(shù)F
F = ∑ ( x i 2 + y i 2 + a x i + b y i + c ) 2 = 0 , i ∈ [ 1 , N ] , N 為 點(diǎn) 數(shù) 目 F=\sum( {x_i}^2+{y_i}^2+a{x_i}+b{y_i}+c)^2 =0 , i\in [1,N],N為點(diǎn)數(shù)目 F=(xi?2+yi?2+axi?+byi?+c)2=0,i[1,N],N點(diǎn)數(shù)
但實(shí)際上其不可能為0,因此根據(jù)最小二乘法求解其最小值
對(duì)函數(shù)F求導(dǎo)可得
? F a = ∑ 2 ( x i 2 + y i 2 + a x i + b y i + c ) ? x i \frac{\partial{F}}{a} = \sum{2( {x_i}^2+{y_i}^2+a{x_i}+b{y_i}+c)*x_i} a?F?=2(xi?2+yi?2+axi?+byi?+c)?xi?
? F b = ∑ 2 ( x i 2 + y i 2 + a x i + b y i + c ) ? y i \frac{\partial{F}} = \sum{2( {x_i}^2+{y_i}^2+a{x_i}+b{y_i}+c)*y_i} b?F?=2(xi?2+yi?2+axi?+byi?+c)?yi?
? F c = ∑ 2 ( x i 2 + y i 2 + a x i + b y i + c ) \frac{\partial{F}}{c} = \sum{2( {x_i}^2+{y_i}^2+a{x_i}+b{y_i}+c)} c?F?=2(xi?2+yi?2+axi?+byi?+c)
當(dāng)這些導(dǎo)數(shù)為0是,函數(shù)最小
為方便求解,將其寫成a,b,c的矩陣函數(shù)形式,則可得
標(biāo)準(zhǔn)二維圓擬合(matlab代碼)
接下來(lái)便是求解方程AX=B文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-421271.html

3.matlab代碼

  1. 實(shí)例
% 圓擬合實(shí)例
clc;
close all;

%% 創(chuàng)建測(cè)試數(shù)據(jù)
num =1000;
% 噪聲
rng(1);
noise1=0.2*randn(num,1);
rng(2);
noise2=0.2*randn(num,1);
% 創(chuàng)建初始數(shù)據(jù)
theta=(2*rand(num,1)-1)*pi;
center = [10,10];
r=3;
x= center(1) + r*cos(theta)+noise1;
y= center(2) + r*sin(theta)+noise2;

%% 擬合圓
figure;
scatter(x,y);
hold on;
[a,b,c] = fit_circle(x,y);
center_cal=[-a/2,-b/2];
r_cal = sqrt(a*a/4+b*b/4-c);
theta_cal =0:0.01:2*pi;
x_cal= center_cal(1) + r_cal*cos(theta_cal);
y_cal= center_cal(2) + r_cal*sin(theta_cal);
plot(x_cal,y_cal);

  1. 圓擬合函數(shù)
function [a,b,c] =  fit_circle(x,y)
% function fit_circle.m
% -------------------------------------------------------------------------
% 圓擬合
% 圓方程按照x^2+y^2+ax+by+c=0
% 最小化函數(shù)定義為 sum((x_i)^2+(y_i)^2+a(x_i)+b(y_i)+c),i為1到n的整數(shù)
% 計(jì)算導(dǎo)數(shù),化為AX=B的形式,X為[a;b;c]
% Inputs:
%       x = 點(diǎn)x坐標(biāo),寫成(1000,1)豎排格式
%       y = 點(diǎn)y坐標(biāo)
% Output:
%       a,b,c = 圓方程對(duì)應(yīng)參數(shù)
% Last updated: November 14, 2022

% 構(gòu)建A
A1_1 = sum(x.^2);
A1_2 = sum(x.*y);
A1_3 = sum(x);
A2_1 = A1_2;
A2_2 = sum(y.^2);
A2_3 = sum(y);
A3_1 = A1_3;
A3_2 = A2_3;
A3_3 = size(x,1);
A=[A1_1,A1_2,A1_3;
  A2_1,A2_2,A2_3;
  A3_1,A3_2,A3_3];

% 構(gòu)建B
B1 = -sum(x.^3+(y.^2).*x);
B2 = -sum(y.^3+(x.^2).*y);
B3 = -sum(x.^2+y.^2);
B = [B1;B2;B3];

% 計(jì)算
X = A\B;
a=X(1);
b=X(2);
c=X(3);

end

到了這里,關(guān)于標(biāo)準(zhǔn)二維圓擬合(matlab代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 調(diào)用matlab曲線擬合工具箱,自定義函數(shù)預(yù)測(cè)人口數(shù)量

    調(diào)用matlab曲線擬合工具箱,自定義函數(shù)預(yù)測(cè)人口數(shù)量

    擬合所求函數(shù)值不需要在已知點(diǎn)精確等于原始函數(shù)值,目的為了使用更簡(jiǎn)單的函數(shù)更低次的多項(xiàng)式表示原函數(shù)。相比插值,面對(duì)大量節(jié)點(diǎn)情況下選擇擬合求函數(shù)曲線不失為一種更好的方法,擬合得到的曲線為一條確定的曲線。 現(xiàn)有一組數(shù)據(jù)分布如下圖: ?我們要求一條直線

    2024年02月09日
    瀏覽(33)
  • 基于MATLAB的三維數(shù)據(jù)插值擬合與三次樣條擬合算法(附完整代碼)

    基于MATLAB的三維數(shù)據(jù)插值擬合與三次樣條擬合算法(附完整代碼)

    目錄 一. 三維插值 例題1 二. 高維度插值擬合 格式一 格式二 格式三 格式四 格式五 例題2 三. 單變量三次樣條插值 例題3 例題4 四. 多變量三次樣條插值 例題6 首先三維網(wǎng)格生成是利用 meshgrid() 函數(shù),在MATLAB中調(diào)用格式如下: 三維插值運(yùn)算,主要利用griddata()函數(shù)與interp()函數(shù)

    2024年02月14日
    瀏覽(22)
  • 基于MATLAB的最小二乘法擬合與擬合工具箱使用教程(附完整代碼與算法)

    基于MATLAB的最小二乘法擬合與擬合工具箱使用教程(附完整代碼與算法)

    給定一組數(shù)據(jù)滿足某一函數(shù)模型,其中a為待定系數(shù)向量。 那么,最小二乘曲線擬合的目標(biāo)就是:求出一組待定系數(shù)的值,使得以下表達(dá)式子最?。?在MATLAB中格式如下: 由以下MATLAB代碼生成一組數(shù)據(jù): 該組數(shù)據(jù)滿足y(x),求出待定系數(shù),使得目標(biāo)函數(shù)的值為最小。 解: MATL

    2024年01月17日
    瀏覽(24)
  • 【重新定義matlab強(qiáng)大系列六】利用matlab進(jìn)行一維濾波or二維濾波

    ???運(yùn)行環(huán)境:matlab ???撰寫作者:左手の明天 ???精選專欄:《python》 ????推薦專欄:《算法研究》 ####? 防偽水印—— 左手の明天?#### ?? 大家好??????,我是 左手の明天 !好久不見?? ??今天開啟新的系列—— 重新定義matlab強(qiáng)大系列 ?? ???

    2024年02月05日
    瀏覽(18)
  • 利用中心差分格式求解一階波動(dòng)方程(附Matlab代碼)

    利用中心差分格式求解一階波動(dòng)方程(附Matlab代碼)

    ? 2 u ? t 2 ? ? 2 u ? x 2 = 0 , 0 x 1 , t 0 , frac{partial^2u}{partial t^2}-frac{partial^2u}{partial x^2}=0,0x1,t0, ? t 2 ? 2 u ? ? ? x 2 ? 2 u ? = 0 , 0 x 1 , t 0 , 初始邊值條件為: u ( 0 , x ) = 2 s i n ( π x ) , uleft(0,xright)=2sinleft(pi xright), u ( 0 , x ) = 2 s in ( π x ) , u t ( 0 , x ) = 0 , 0 x 1 , u_tle

    2024年02月06日
    瀏覽(23)
  • MATLAB小提琴仿真與代碼實(shí)現(xiàn)(數(shù)學(xué)物理方程)大作業(yè)

    MATLAB小提琴仿真與代碼實(shí)現(xiàn)(數(shù)學(xué)物理方程)大作業(yè)

    問題背景與介紹 振動(dòng)是自然界最普遍的現(xiàn)象之一,也是所有物體發(fā)聲的來(lái)源,可以說(shuō)振動(dòng)與我們的 生活息息相關(guān)。一直以來(lái),科研人員在振動(dòng)領(lǐng)域投入了大量研究,對(duì)振動(dòng)過(guò)程和機(jī)理的 認(rèn)識(shí)也日益深化,使振動(dòng)能夠趨利避害。振動(dòng)力學(xué)是關(guān)于機(jī)械振動(dòng)的一門重要學(xué)科,它

    2024年02月06日
    瀏覽(21)
  • Matlab讀Zygo干涉儀面形數(shù)據(jù)并進(jìn)行37階Zernike擬合(附Matlab代碼)

    Matlab讀Zygo干涉儀面形數(shù)據(jù)并進(jìn)行37階Zernike擬合(附Matlab代碼)

    本代碼具有以下兩個(gè)主要功能: 通過(guò)在Matlab中開發(fā)大量的反編譯代碼,我們成功地在Matlab中提取到Zygo .dat二進(jìn)制文件中所包含的 137個(gè)測(cè)量參數(shù) ,包括: 相位/面形數(shù)據(jù)(PhaseData)、干涉圖(IntensityData)、干涉圖像素標(biāo)定(pixel_height和pixel_width)、測(cè)試波長(zhǎng)(wavelength_in)和

    2024年02月03日
    瀏覽(18)
  • 【數(shù)值分析實(shí)驗(yàn)】(八)常微分方程的數(shù)值解法(含matlab代碼)

    【數(shù)值分析實(shí)驗(yàn)】(八)常微分方程的數(shù)值解法(含matlab代碼)

    ????????科學(xué)技術(shù)中很多問題都可用常微分方程的定解問題來(lái)描述,主要有初值問題和邊值問題兩大類。常微分方程式描述連續(xù)變化的數(shù)學(xué)語(yǔ)言,微分方程的求解時(shí)確定滿足給定方程的可微函數(shù),要找出這類問題的解析解往往非常困難,甚至是不可能的。研究一階常微分方

    2024年02月03日
    瀏覽(19)
  • 【數(shù)值分析實(shí)驗(yàn)】(五)線性方程組的迭代解法(含matlab代碼)

    【數(shù)值分析實(shí)驗(yàn)】(五)線性方程組的迭代解法(含matlab代碼)

    ????????迭代法就是用某種極限過(guò)程去逐步逼近線性方程精確解的方法。迭代法具有需要計(jì)算機(jī)的存儲(chǔ)單元較少、程序設(shè)計(jì)簡(jiǎn)單、原始系數(shù)矩陣在計(jì)算過(guò)程中始終不變等優(yōu)點(diǎn),但存在收斂性及收斂速度問題。 3.1.1 算法過(guò)程 3.1.2 代碼 3.1.3 計(jì)算結(jié)果 3.2.1 算法過(guò)程 3.2.2 代碼

    2024年02月03日
    瀏覽(22)
  • 【數(shù)學(xué)建?!砍S梦⒎址匠棠P?+ 詳細(xì)手寫公式推導(dǎo) + Matlab代碼實(shí)現(xiàn)

    【數(shù)學(xué)建模】常用微分方程模型 + 詳細(xì)手寫公式推導(dǎo) + Matlab代碼實(shí)現(xiàn)

    微分方程基本概念 微分方程在數(shù)學(xué)建模中的應(yīng)用 微分方程常用模型(人口增長(zhǎng)模型、傳染病模型) 2022.06.19 微分方程,是指含有未知函數(shù)及其導(dǎo)數(shù)的關(guān)系式。解微分方程就是找出未知函數(shù)。 微分方程是伴隨著微積分學(xué)一起發(fā)展起來(lái)的。微積分學(xué)的奠基人Newton和Leibniz的著作中

    2024年02月09日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包