Processing 如何通过加工求解联立方程组
我只是一个新手,它比Java或Javascript更让我困惑! 我必须为大学作业解联立方程组。(在这个类中,他们并没有真正向我们解释他们在代码中做了什么。) 我知道他们是如何用下面代码中的两个方程来计算代码的,但是他们现在希望我们用3个方程来计算。有人知道我会怎么做吗?我以为我只需要在每个矩阵中添加额外的位,但显然要比这复杂得多。 我有三个方程式: x+y+z=9 x+2y+3z=23 x+5y-3z=-7 两个方程式的代码如下所示:Processing 如何通过加工求解联立方程组,processing,simultaneous,equations,Processing,Simultaneous,Equations,我只是一个新手,它比Java或Javascript更让我困惑! 我必须为大学作业解联立方程组。(在这个类中,他们并没有真正向我们解释他们在代码中做了什么。) 我知道他们是如何用下面代码中的两个方程来计算代码的,但是他们现在希望我们用3个方程来计算。有人知道我会怎么做吗?我以为我只需要在每个矩阵中添加额外的位,但显然要比这复杂得多。 我有三个方程式: x+y+z=9 x+2y+3z=23 x+5y-3z=-7 两个方程式的代码如下所示: // import Jama.*; // Solve 3x+
// import Jama.*;
// Solve 3x+2y=3
// -2x-y=-1
// AX=B
// X=InvA B
import java.io.StringWriter;
void setup()
{
size(150,110);
fill(0,0,0);
double [][] Aline12={{ 3, 2}, // Create a 2D array to store A
{-2,-1}};
Matrix A = new Matrix(Aline12); // Copy array to A Matrix data structure
double [][] B1ine12 = {{3}, // Create a 2D array to store B
{-1}};
Matrix B = new Matrix(B1ine12); // Copy array to B Matrix data structure
Matrix X=(A.inverse()).times(B); // Solve for X
text("A",10,12);
app_print(A,0,16);
text("B",110,12);
app_print(B,100,16);
text("X",10,65);
app_print(X,0,70);
}
// Method added to allow printing on applet screen at (x,y)
void app_print(Matrix P, int x, int y)
{
StringWriter stringWriter = new StringWriter();
PrintWriter writer = new PrintWriter(stringWriter);
P.print(writer,5,2);
text(stringWriter.toString(),x,y);
}
你将用解两个方程组的方法来解它,只需加上第三个变量。另外,在实践中,您几乎不想求矩阵的逆,有更好的方法,如LU分解来求解
Ax=B
。因为您使用的是Jama,所以可以尝试以下代码段
double [][] Aline12={{1.0, 1.0, 1.0}, // Create a 2D array to store A
{1.0, 2.0. 3.0},
{1.0, 5.0, -3.0}};
Matrix A = new Matrix(Aline12); // Copy array to A Matrix data structure
double [][] B1ine12 = {{9}, // Create a 2D array to store B
{23},
{-7}};
Matrix B = new Matrix(B1ine12); // Copy array to B Matrix data structure
Matrix X = A.solve(B) // Solve for X. See Jama documentation on solve
Jama文档如果没有电脑,你会如何在纸上解决这个问题?