fit data trend with equation

1 次查看(过去 30 天)
C.G.
C.G. 2022-8-1
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')

回答(1 个)

Milan Bansal
Milan Bansal 2023-9-20
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!

类别

Help CenterFile Exchange 中查找有关 Curve Fitting Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by