how to solve rank deficiency warning problem?
25 次查看(过去 30 天)
显示 更早的评论
I have written a code but it is showing some warnings due to which i m getting improper outputs.....the code is as follows:
any help would be appreciated....
clear
clc
clf
format compact
% the data
y=[9.64E-11 5.29E-11 5.34E-11 5.32E-11 5.34E-11 5.34E-11 5.36E-11 5.35E-11 5.29E-11 5.29E-11 5.29E-11 5.30E-11 5.28E-11 5.28E-11 5.29E-11 5.28E-11 5.28E-11 5.27E-11 5.27E-11 5.28E-11 5.27E-11 5.26E-11 5.27E-11 5.26E-11 5.27E-11 5.26E-11 5.26E-11 5.26E-11 5.26E-11];
f=[1.00E+02 3.54E+03 6.99E+03 1.04E+04 1.39E+04 1.73E+04 2.08E+04 2.42E+04 2.77E+04 3.11E+04 3.45E+04 3.80E+04 4.14E+04 4.49E+04 4.83E+04 5.18E+04 5.52E+04 5.87E+04 6.21E+04 6.56E+04 6.90E+04 7.24E+04 7.59E+04 7.93E+04 8.28E+04 8.62E+04 8.97E+04 9.31E+04 9.66E+04];
w=(2*pi)*f;
% the proposed functionality (fh is a handle to the function)
fh=@(b,w) 1./(((b(1)+(b(2)./(1+(b(2).*w.*b(3)).^2))).^2)./((b(2).^2.*b(3))./(1+(b(2).*w.*b(3)).^2))+((b(2).^2.*w.*b(3))./(1+(b(2).*w.*b(3)).^2)));
% guess values for parameters (beta0)
b0=[1,1,1];
% plot the raw data
plot(w,y,'s','markersize',5,'color',[0,0,0]);
hold on
% determine best fit values for coefficient (bhat)
bhat=nlinfit(w,y,fh,b0);
% plot the fit
xf = linspace(w(1), w(length(w)));
plot(xf,fh(bhat,xf),'linewidth',1,'color',[1,0,0]);
legend('original data','fitdata','location','Best') % the result
bhat(1)
bhat(2)
bhat(3)
the warnings are as follows:
Warning: Rank deficient, rank = 2, tol = 1.7048e-020.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 5.8195e-021.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 1.9867e-021.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 6.7835e-022.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 2.3173e-022.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 7.9252e-023.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 2.7174e-023.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 9.3744e-024.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 3.2799e-024.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 1.1852e-024.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 4.6048e-025.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 2.0921e-025.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 1.1485e-025.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 1.1485e-025.
> In nlinfit>LMfit at 322
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 1.1485e-025.
> In nlinfit>LMfit at 322
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 7.8466e-026.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 7.5760e-026.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 7.5760e-026.
> In nlinfit>LMfit at 322
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 7.5760e-026.
> In nlinfit>LMfit at 322
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 7.4567e-026.
> In nlinfit>LMfit at 295
In nlinfit at 167
In neha_test1 at 17
Warning: Rank deficient, rank = 2, tol = 7.4567e-026.
> In nlinfit>LMfit at 322
In nlinfit at 167
In neha_test1 at 17
Warning: The Jacobian at the solution is ill-conditioned, and some
model parameters may not be estimated well (they are not identifiable).
Use caution in making predictions.
> In nlinfit at 224
In neha_test1 at 17
could anybody fix this problem...?
3 个评论
Kerry Hipps
2019-6-19
I too have questions about rank deficiency, in my case it is
Warning: Rank deficient, rank = 3, tol = 4.989138e-12.
> In nlinfit>LMfit (line 587)
In nlinfit>nlrobustfit (line 768)
In nlinfit (line 315)
In SPR_ODE45_P4x (line 58)
The last is my calling program
回答(2 个)
Artur Hahn
2019-12-14
I too have a problem with the rank deficiency. I get "Warning: Rank deficient, rank = 1, tol = 1.666613e+04."
when trying to solve a system of linear equations c = A\y. Any help or explanation of the meaning/problem would be appreciated.
0 个评论
Kerry Hipps
2019-12-15
No solution yet. I switched to lsqcurvefit. Would still like to find a solution.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation of 2-D Selections in 3-D Grids 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!