sfit data array output

조회 수: 3 (최근 30일)
Asliddin Komilov
Asliddin Komilov 2019년 9월 26일
댓글: darova 2019년 10월 7일
Hi, I have this:
SS_fit_Xs=fit(Wave_length,real_Solar_spectrum,'poly9');
then I can plot it so easily like this:
plot(SS_fit_Xs,Wave_length,real_Solar_spectrum);
but to get fitted curve as data I have to write down very long formula with 10 coefficients.
Is there any way to do it in a shorter line?
thanks
  댓글 수: 1
Asliddin Komilov
Asliddin Komilov 2019년 10월 6일
now I have this
A=xlsread('ASTMG173.xls');
real_Solar_spectrum=A(:,3);%W/m2
Wave_length=A(:,1)./1e9;% m
SS_fit_Xs=fit(Wave_length,real_Solar_spectrum,'poly9');
SS_fit=SS_fit_Xs(1)*Wave_length.^9+SS_fit_Xs(2)*Wave_length.^8 ...
+SS_fit_Xs(3)*Wave_length.^7+SS_fit_Xs(4)*Wave_length.^6 ...
+SS_fit_Xs(5)*Wave_length.^5+SS_fit_Xs(6)*Wave_length.^4 ...
+SS_fit_Xs(7)*Wave_length.^3+SS_fit_Xs(8)*Wave_length.^2 ...
+SS_fit_Xs(9)*Wave_length+SS_fit_Xs(10);
and SS_fit doesn't look even close to real_Solar_spectrum.
can you help?
thanks

댓글을 달려면 로그인하십시오.

답변 (1개)

darova
darova 2019년 10월 6일
This code
A = xlsread('ASTMG173.xls');
x = A(:,1);
y = A(:,3);
plot(x,y)
Produces
img1.png
Is it the curve you want to approximate?
  댓글 수: 2
Asliddin Komilov
Asliddin Komilov 2019년 10월 7일
편집: Asliddin Komilov 2019년 10월 7일
yes, but rather x = A(:,1)./1e9, since it makes the difference in fit.
darova
darova 2019년 10월 7일
Is it the way the approximated curve should looks like?
11Untitled.png

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Fit Postprocessing에 대해 자세히 알아보기

태그

제품


릴리스

R2016a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by