F (x) = 1/(ax^2 + bx + c)의 형태로 인버스 포물선에 몇 가지 포인트를 맞추려고합니다.역 파라볼라 피팅. 최소 제곱 수식 분석 표현에 도달
내 목표는 10-30 점을 취하여 역 포물선에 맞출 수있는 함수를 C++로 프로그래밍하는 것입니다.
최소한의 사각형을 사용하여 분석 식을 얻으려고했지만 결과를 얻기 위해 도달 할 수 없습니다. 나는 손으로 (조금 미친) 시도한 다음 분석적으로 a, b 및 c의 표현식을 풀려고했지만 mupad는 결과를주지 못합니다 (Matlab의 mupad에 익숙하지 않은 것 같습니다) . 더 이상이 문제에 접근하는 방법을 모르겠습니다.
이 특정 문제에 대한 분석 식을 얻을 수 있습니까? 나는 또한 일반적인 최소 제곱 피팅을위한 알고리즘을 보았지만 복잡한 알고리즘은 필요하지 않습니다. 단지이 방정식에 필요합니다. 그렇지 않은 경우 StackOverflow 사용자가 문제에 어떻게 접근합니까?
필요한 경우 방정식과 시도한 작은 Mupad 코드를 게시 할 수 있지만 불필요하다고 생각합니다.
편집 : 몇 가지 예를
임 미안 이미지가 조금 지저분하지만 내가 필요로하는 일이다. 데이터가 파란색입니다 (이 데이터는 특히 시끄 럽습니다). 난 수직선 사이에있는 데이터 (왼쪽에있는 데이터와 오른쪽에있는 데이터) 만 사용해야합니다.
적합 결과는 붉은 색 선입니다.
이 모든 것들이 matlab으로 만들어졌지만, 나는 이것을 C++로 만들 필요가있다.
나는 몇 가지 데이터를 게시하려고합니다 ...
편집 2 :
create linear system Ax = b, with
A = [x² x 1]
x = [a; b; c]
b = 1/y;
:는 사실 (안 실제 코드)를 다음과 같이 매트랩 피팅을했다
제대로 작동할까요? 나는 SVD로 계산 된 Moore-Penrose pseudoinv를 사용하여 풀 수있다. 그렇지 않니?
그래서'(x, y)'가 3 쌍이라면'a','b'와'c'를 계산해야합니까? – Lol4t0
주어진 n 쌍의 (x, y) 실제로! @ Lol4t0 –
이것은 프로그래밍 문제가 아니며, 이것은 수학/통계 문제입니다. 즉, * 선형 * 최소 제곱만 분석 해법을 가지고 있다고합니다. 비선형 최소 자승법은 수치 접근법을 필요로합니다. –