How to resolve floating point zero error in the following code

for i=1:3
for j=1:3
for k=1:z
p=Q(i,j,k)*(Z(k+1)-Z(k));
q=Q(i,j,k)*(Z2(k+1)-Z2(k));
r=Q(i,j,k)*((Z(k+1))^3-(Z(k))^3);
A(i,j)= A(i,j)+p;
B(i,j)= B(i,j)+q;
D(i,j)= D(i,j)+r;
end
end
end

댓글 수: 6

What floating point zero error?
What inputs should we give when we run the code?
Manish
Manish 2018년 12월 5일
편집: Manish 2018년 12월 5일
2
1/1000
0
0
0
0
0
Okay, so what should we be paying attention to?
Your ABD matrix is nearly singular, with rcond about 1e-9 . inv() of it is not going to be all that accurate. You should strive to avoid using inv(), preferring to use \
abd = inv(ABD); R1 = abd*[Nx;Ny;Nxy;Mx;My;Mxy];
would be better as
R1 = ABD \ [Nx;Ny;Nxy;Mx;My;Mxy];
okay i will do that but;
in ABD matrix ABD(1,3) = ABD(2,3) = ABD(3,1) = ABD(3,2) = 0
and i ain't getting that
There is no way to to resolve it ?
Because i have to display the ABD matrix and
if i use A(A~= 0) = 0;
whole A matrix is resulting in zero matrix although every element is not approximately zero.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

질문:

2018년 12월 5일

댓글:

2018년 12월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by