sfit data array output

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 Comment

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

Sign in to comment.

Answers (1)

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 Comments

Asliddin Komilov
Asliddin Komilov on 7 Oct 2019
Edited: Asliddin Komilov on 7 Oct 2019
yes, but rather x = A(:,1)./1e9, since it makes the difference in fit.
Is it the way the approximated curve should looks like?
11Untitled.png

Sign in to comment.

Categories

Products

Release

R2016a

Asked:

on 26 Sep 2019

Commented:

on 7 Oct 2019

Community Treasure Hunt

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

Start Hunting!