How to fit a dataset with two independant variables (of different dimensions) and one dependant variable?

1 次查看(过去 30 天)
I need to fit data points of an Intensity-Duration-Frequency curve into a non-linear equation of the form
i=K*(T^a)/((t+b)^n)
where i is the intensity(dependant),T the return period(independant) and t the duration(independant).
K,a,b,n are the coefficients to be found.
t={ 1 2 4 5 10 12 15 24 36 48 }
T={2 5 10 25 50 100}
I was attempting nlinfit with the two independant variable data sets to be in one single matrix,but dimensions do not agree for the two.How would i fit these?

回答(1 个)

Jeff Miller
Jeff Miller 2021-3-16
You need give nlinfit the corresponding 60 values of t and T. Something like this (but check the order of the resulting 60 points):
t=[ 1 2 4 5 10 12 15 24 36 48];
T=[2 5 10 25 50 100];
[t2, T2] = ndgrid(t,T);
t2 = reshape(t2,60,1);
T2 = reshape(T2,60,1);
% now pass t2 and T2 to nlinfit

类别

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

产品


版本

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by