Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.202823e-18.
Show older comments
hi guys I need a help I'm using LDA but when I run I got the message aforementioned
S1=cov(d1');
S2=cov(d2');
S3=cov(d3');
%% within-class scatter matrix
Sw=S1+S2+S3;
%% between -class scatter matrix
SB1=n1.* (mu1-mu)*(mu1-mu)';
SB2=n2.* (mu2-mu)*(mu2-mu)';
SB3=n3.* (mu3-mu)*(mu3-mu)';
SB=SB1+SB2+SB3;
%% Computing the LDA projection
W=inv(Sw)*SB;
%% getting the projection vectors
[V,D]=eig(W);
Accepted Answer
More Answers (3)
Tony Castillo
on 16 Jan 2020
0 votes
Hello Guys,
I received this warning in a model made in Simescape Power Systems of Simulink,
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.051867e-16.
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.051867e-16.
May you help me to solve it ?
Thanks in advance.
2 Comments
Marcel Johannesmann
on 25 Jul 2020
Edited: Marcel Johannesmann
on 26 Jul 2020
I have encountered a similar warning. I could narrow it down to the Load flow settings of the power gui block. The warning most likely occurs because your Base Power is too high so that your rated values (in pu) in the admittance matrix are getting too small. Adjusting the base power fixed this issue for me. Hope this helps.
Mojtaba Raheli
on 27 Sep 2020
Edited: Mojtaba Raheli
on 27 Sep 2020
How did you do it? I cannot adjust base power. please write the direction of base power setting.
clc;
clear;
close all;
A = [2 1 -5; 0 1 -2; 0 0 2];
[P, D] = eig(A);
disp('P Matrix');
disp(P);
disp('Diagonal form of A is');
disp(P\D*P);
9 Comments
Shaunak Bagade
on 19 Oct 2021
How should I resolve this ?
John D'Errico
on 19 Oct 2021
Edited: John D'Errico
on 20 Oct 2021
This question is completely different in nature form the original one posted. The reason it happens is only related in that you got a similar message. Yes. Thre is a singular matrix in the problem. But the reason why is completely different.
Regardless, you resolve it by posting a question, NOT an answer. I will not explain what happened until you post this as a question, nor should anyone else.
Bruno Luong
on 21 Oct 2021
I find this question is interesting.
I believe the matrix A is actually not diagonalizable, it's has the Jordan form however.
Therefore P returned by EIG is singular (rank 2).
John D'Errico
on 21 Oct 2021
Yes. It is interesting, in the sense that A is defective. But it is not a question, so I do not believe it should be answered. I will answer it in full, when the @Shaunak Bagade chooses to make it one. If this does not happen, then the person is not interested in learning the answer.
Shaunak Bagade
on 22 Oct 2021
I didn't get you !
Jan
on 22 Oct 2021
@Shaunak Bagade: Pleas stop the discussion here and open a new question. Thanks.
John D'Errico
on 22 Oct 2021
Edited: John D'Errico
on 22 Oct 2021
@Shaunak Bagade - what did you not get? I will not answer your question, not UNTIL you bother to post this as a question. Nor should anyone else. So while your question is of technical interest, posting it as an answer to a different question is a problem, because that means nobody else will ever be able to find your question, and nobody else will be able to learn from the answer. Effectively, if you are interested in learning the answer to this problem, then you should be interested enough to learn to use the site properly.
Note that as quasi-moderators, we should have the capability to move this into a question by the OP. But that is beyond our abilities.
John D'Errico
on 22 Oct 2021
@Shaunak Bagade - Since you seem not to want to follow my guidance, see my question, AND answer, here:
From now on, please learn to post a question as a question, rather than hijacking a separate only vaguely related question.
Tugcan
on 5 Jan 2024
Hello guys i had a same error with different matlabs code. I tried this \ method but still i have this error. I get this error at values 80 120 and 320 for N. Best Regards.
Enter T:
1
Enter N:
80
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 5.765040e-19. > In question4s (line 18)
error =
1.8689e+13
function mixedboundary()
T=input("Enter T: ");
N=input("Enter N: ");
h=T/N;
A=zeros(N+1,N+1);
F=zeros(N+1,1);
A(1,1)=1;
A(N+1,1:3)=[-3, 4, -1];
F(1,1)=1;
F(N+1,1)=6*h;
for i=2:N
t(i)=(i-1)*h;
A(i,i-1)=1/(h^2)-5/(h);
A(i,i)=-2/(h^2)-3/(2*h);
A(i,i+1)=1/(h^2)-5/(h);
F(i,1)=14*exp(2*t(i))-3*exp(4*t(i));
end
Y=inv(A)*F;
exact=zeros(N+1,1);
for i=1:N+1
t(i)=(i-1)*h;
exact(i,1)=exp(2*t(i));
end
error=max(abs(exact-Y))
end
4 Comments
Torsten
on 5 Jan 2024
Which 2nd order differential equation with which boundary conditions do you try to solve ?
Tugcan
on 5 Jan 2024
I use kunte rotta method for this question and these are equations:

The code has nothing to do with your assignment.
The method used in the code is suited for boundary value problems - thus problems where conditions on the solution are imposed at both ends of the interval of integration (in your case: t = 0 and t = T). In the assignment, both conditions are imposed at t = 0.
Further, you are told to first reduce the 2nd order differential equation to a system of two first order differential equations and then solve the system by a Runge-Kutta-method. Both does not happen in the code.
Tugcan
on 6 Jan 2024
I see. I have reduced formst but i dont know how to evolve it to Runge-Kutta-Method but thank you for attention
Categories
Find more on Discriminant Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!