fit data trend with equation

1 view (last 30 days)
C.G.
C.G. on 1 Aug 2022
Answered: Milan Bansal on 20 Sep 2023
I have the datset attached, and i'm trying to find an equation which describes the trend.
I have tried using basic fitting but it does not fit a line and comes up with NaN's. Is there a reason for this and how can I find a trend easily?
load smd_period.mat
plot(period,smd,'-k')
xlim([0 5000])
xlabel('Period (s)')
ylabel('Power-Power')

Answers (1)

Milan Bansal
Milan Bansal on 20 Sep 2023
Hi,
I understand that you are facing an issue while fitting a curve to the given data.
As per the given data, output of the fitting function is "NaN" because the "period" variable in the attached ".mat" file contains repetitive values. Define the "period" variable using "linspace" function as shown in the example below.
period = linspace(0,5000,16385);
Use "polyfit" function to fit an approximate "n" degree polynomial to the data.
p = polyfit(period,smd,50); % fitting a 50 degree polynomial
Refer to the following documentation to learn more about "polyfit" function.
Obtain the fitted curve using "polyval" function.
y = polyval(p,period);
Refer to the following documentation to learn more about "polyval" function.
Hope it helps!

Community Treasure Hunt

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

Start Hunting!