Relation or Pattern between curves

5 次查看(过去 30 天)
I am having the following curves, and I am trying to find a relation between them, or a statistical factor to use it so i can predict curves just from one:
I would appreciate any help, Thanks!
  3 个评论
Hidd_1
Hidd_1 2023-5-20
Sorry it was a mistake, I wanted to flag another post not this one!
Image Analyst
Image Analyst 2023-5-20
But if the question was posted multiple times, perhaps with slight modifications each time, the question becomes which is the one to answer. Presumably the latest, most recent one is the final/best one is the one to answer, rather than the first/oldest one.

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2023-5-17
The plot appears to be incomplete.
What do the curves look like between 0 (or whatever the minimum independent value is) and 150? What are the independent variable values?
The parts of the curves displayed appear to be inverted Logistic function curves, so one option might be to estimate the parameters of each of them and then compare those parameters.
That objective function could be —
lgfcn = @(b,x) b(1) - b(2)./(1 + exp(-b(3).*(x-b(4))));
.
  23 个评论
Hidd_1
Hidd_1 2023-6-11
编辑:Hidd_1 2023-6-11
How can we validate a non-linear regression model when it only fits the measured data but may not accurately represent the underlying mathematical description of the physical process?
for instance: Should a cross-correlation analysis be performed to validate a non-linear regression model on additional measurements?
Star Strider
Star Strider 2023-6-11
How can we validate a non-linear regression model when it only fits the measured data but may not accurately represent the underlying mathematical description of the physical process?
Without knowing the process that created the data (and I do not know what it is here), and creating a mathematical model of it, there only way to model the data is empirically, that is, fitting the data to a function that just looks like it would work. There is no way to ‘validate’ it in the sense of determining how well the estimated parameters describe the underlying process, if the underlying process is not actually known.
Should a cross-correlation analysis be performed to validate a non-linear regression model on additional measurements?
I would simply fit the new measurments to the existing empirical model and see how well the empirical model fits the data. I am not certain there is any other way to determine that.
If the process that created the data was known, then it might be possible to see how well the estimated parameters of the empirical model modeled the actual mathematical model of the process (that is, compared to its parameters). Without having the mathematical model of the process that created the data, we are restricted to using an empirical model. There is simply no other option.
In the absence of a mathematical model of the process that created the data, other empirical models can certainly be hypothesized and tested. For example, if a different input produced a different output, procedures described in the System Identification Toolbox could be used to derive different models, or perhaps one model that could fit outputs from other inputs, providing that both the inputs and corresponding outputs were available. I am not certain what benefit a cross-correlation analysis would have, when it is possible to fit the data, however I may not understand the sort of analysis you want to do.

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2023-5-17
You forgot to attach your data! It should be possible to fit any particular curve to some sigmoid kind of curve, if you have the model for it, with fitnlm. I'm attaching some demos using various models so you can see how it's done.
  6 个评论
Hidd_1
Hidd_1 2023-5-19
编辑:Hidd_1 2023-5-19
Thnak a lot Alex!
I've tried to implement your algorithm using your objective function, but I got bad results:
clc
clear all
close all
DF = load('Inter_cubic.mat');
Data = DF.Inter_cubic(:,1:230);
x = (1:size(Data,2))';
% Define the fitting function
Sig = @(p,x) p(4)./(1 + exp(-p(1).*x + p(7))) + p(5)./(1 + exp(-p(2).*x + p(8))) + p(6)./(1 + exp(-p(3).*x + p(9))) + p(10);
% Initial guess of coefficients
beta0 = ones(1,10);
for k = 1:size(Data,1)
% Put the data for this curve into a table
y = Data(k,:)';
tbl = table(x,y);
% Fit the model
mdl{k} = fitnlm(tbl,Sig,beta0);
% Plot the fit against the data
figure
hold on
plot(x,Data(k,:),'o')
plot(x,predict(mdl{k},x))
end
I coudn't achieve your result, can you please check what went wrong, please!
Alex Sha
Alex Sha 2023-5-20
GA only has the so-called global optimization capability in theory, but in practice it will be far from the same, even Matlab's global optimization toolbox, the results are often unsatisfactory。

请先登录,再进行评论。

类别

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

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by