1
2D 열전달 화학 공학 문제를 해결하기 위해 Gauss seidel 방법을 사용하여 25x25 행렬을 분석하려고했습니다. 가우스 자이 델 행렬 1에 대한 루프가 이전 기능 VBA의 Gauss 코드
정말 어떤 도움을 주셔서 감사에 의해 생성 COEFF 매트릭스가있는 동안그러나이 두번째 반복
Do While error > 0.1
temps0 = temps1(UBound(matrix1, 1), 1) ' Old temperature for error calculation
'Conducts the gauss algorithm for each row
For i = 1 To UBound(matrix1, 1)
temps1(i, 1) = matrix1(i, UBound(matrix1, 2))
For j = 1 To (UBound(matrix1, 2) - 1)
If j <> i Then
temps1(i, 1) = temps1(i, 1) - (matrix1(i, j) * temps1(j, 1))
ElseIf j = i Then
divider = matrix1(i, j)
End If
Next j
temps1(i, 1) = temps1(i, 1)/divider
Next i
error = Abs((temps1(UBound(matrix1, 1), 1) - temps0)/temps1(UBound(matrix1, 1), 1))
iteration = iteration + 1
Loop
이 이동 나던은 할 일이다. 변화 오류의 값에 의해 해결 TY
"은 2 반복으로 이동하지 않는다"당신은'i' 루프의 두 번째 반복 언급하는, 또는 'j' 루프의 두 번째 반복? 그리고 두 번째 반복 과정에 들어가는 대신에 무엇을하는지, 즉 충돌을 일으키는 지, 아니면'matrix1'의 크기가 '1 대 1, 1 대 2'인지, 아니면 다른 것만 있다고 생각합니까? – YowE3K
내가 말한 것은 temp1 (1-D 배열)을 업데이트하지 않는다는 것입니다. – user133174
F8 키를 사용하여 코드를 한 단계 건너 뛰고 프로그램 흐름이 올바른지 확인하십시오. .... 루프가 너무 많은 단계를 거친 다음 중단 점을 삽입하고 F5를 사용하여 실행을 계속하면 중단 점에서 중단됩니다. – jsotola