我正在寫一個程序,通過高斯 - 喬丹方法解決矩陣。除了-1.0/1.0之外,一切都可以使用。打印矩陣時,它應該仍然是-1.0時打印出一個0.0。任何人都可以解釋爲什麼會發生?在下面的例子中,matrix [k] [s]是-1.0,除數是1.0的double值。-1.0/1.0操作返回0?
for(s = 0; s < (n+1); s++){ //Augmented matrix, while s < number of columns
if(divisor == 0.0){ //Not dividing by 0.0
continue;
}
matrix[k][s] = matrix[k][s]/divisor;
if((matrix[k][s] < TOLERANCE) || (matrix[k][s] < -TOLERANCE)){ //To avoid -0.0 values, TOLERANCE == 1e6
matrix[k][s] = 0.0;
}
你確定你不小心打印出來之前,改變矩陣? – aardvarkk