How to fit the data with passing specific point and specific function
조회 수: 14 (최근 30일)
이전 댓글 표시
Please could you me some tips for the below question
To do the fitting, I have searched the polyfit and curve fitting. but i could find the fitting method like below
I would like fit the data by using the specific function like below
y= A (x^2) (x-1)^2 ( I want find A and the function should pass (0,0) and (1,0))
and data is like this:
x=[0 0.166666667 0.333333333 0.5 0.666666667 0.833333333 1]
y=[0 1.09162 1.71904 2.52173 1.20849 2.47433 0]
Therefore, from the data , I would like to get A values from y= A (x^2) (x-1)^2 and data point
And here is constraints that the fiiting function must pass the (0,0) and (1,0)
for example like this:
채택된 답변
KSSV
2021년 11월 16일
편집: KSSV
2021년 11월 16일
x=[0 0.166666667 0.333333333 0.5 0.666666667 0.833333333 1]' ;
y=[0 1.09162 1.71904 2.52173 1.20849 2.47433 0]' ;
n = 3; % Degree of polynomial to fit
V(:,n+1) = ones(length(x),1); % Vandermonde matrix
for j = n:-1:1
V(:,j) = x.*V(:,j+1);
end
% Constraints
Aeq = x([1 end]).^(n:-1:0);
beq = [y(1) y(end)];
p = lsqlin(V, y,[],[],Aeq,beq);
xnew = linspace(x(1),x(end)) ;
ynew = polyval(p,xnew);
plot(x,y,'.b-')
hold on
% Plot constraints
plot(x([1 end]),y([1 end]),'gx','linewidth',4)
% Plot fitted data
plot(xnew,ynew,'r','linewidth',2)
hold off
댓글 수: 3
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!