Non-Pivoting Gaussian Elimination Exceeding Rows help?
Afficher commentaires plus anciens
Evening,
But seriously, lets cut to the chase, Walter,
I don't understand why my non-pivoting Guassian elim. loop is saying that my position 1 exceeds my array bound of 4.
Here is the code:
function Aa = gaussq(A, b)
A
n = 100;
for j = 1: 1: n
p = A(j,j)
for i = j+1: 1: n
M = A(i,j)/p
A(i,:) = A(i,:) - M*A(j,:)
b(i) = b(i) - M*b(j)
end
end
end
The input:
gaussq( [1 1 1 0; -1 1 0 1; -1 2 1 1; 0 0 1 2], [1;2;3;3])
The error:
"Index in position 1 exceeds array bounds (must not exceed 4)."
How are my rows reaching 5? Doesn't it reset after the nested for loop is done with the 1st column (after two iterations)?
Réponse acceptée
Plus de réponses (1)
Walter Roberson
le 29 Mar 2019
0 votes
Your n should not be greater than min(size(A,1),size(A,2))
3 commentaires
Yakub Shalmiyev
le 29 Mar 2019
Walter Roberson
le 29 Mar 2019
You had tagged it with my name and I was cleaning up tags.
Yakub Shalmiyev
le 29 Mar 2019
Catégories
En savoir plus sur Multidimensional Arrays dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!