Fitting data into a required function
조회 수: 5 (최근 30일)
이전 댓글 표시
I am trying to fit this data -
x = [0.001 0.01 0.1 1 10];
y = [63.5 74.5 94.1 94.2 103.5];
into a function y = m*x^n
polyfit and lsqcurvefit not seem to be working here
can someone help me?
댓글 수: 0
채택된 답변
Star Strider
2021년 2월 13일
Try this:
x = [0.001 0.01 0.1 1 10];
y = [63.5 74.5 94.1 94.2 103.5];
fcn = @(b,x) b(1).*x.^b(2);
B0 = rand(2,1);
B = lsqcurvefit(fcn, B0, x, y)
figure
plot(x, y, 'p')
hold on
plot(x, fcn(B,x), '-r')
hold off
set(gca, 'XScale','log') % Optional
grid
xlabel('X')
ylabel('Y')
legend('Data', sprintf('y = %.3f\\cdotx^{%.3f}', B), 'Location','E')
.
댓글 수: 2
추가 답변 (1개)
randerss simil
2021년 2월 13일
편집: randerss simil
2021년 2월 13일
%if true
m = 2
n = 1.5
Y = m*x.^n;
k = polyval(x,Y)
First use polyval for the equation and then apply polyfit
댓글 수: 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!