我希望以前没有问过,如果是的话,我道歉.
编辑:为清楚起见,将使用以下表示法:矩阵的粗体大写,矢量的粗体小写和标量的斜体.
假设x0是向量,A和B是矩阵函数,f是向量函数.
我正在寻找在Mathematica中执行以下迭代方案的最佳方法:
A0 = A(x0), B0=B(x0), f0 = f(x0)
x1 = Inverse(A0)(B0.x0 + f0)
A1 = A(x1), B1=B(x1), f1 = f(x1)
x2 = Inverse(A1)(B1.x1 + f1)
...
Run Code Online (Sandbox Code Playgroud)
我知道for-loop可以做到这一点,但我对Mathematica并不熟悉,我担心这是最有效的方法.这是一个合理的担忧,因为我想定义一个函数u(N):=xN并在进一步的计算中使用它.
我想我的问题是:
什么是最有效的方案编程方式?
是RecurrenceTable一种方法吗?
编辑
这比我想的要复杂一点.我提供了更多细节,以便获得更全面的回复.
在重复之前,我在理解如何编写函数A,B和f时遇到问题.
矩阵甲和乙的时间步长的功能DT = 1/T和空间步骤DX = 1/M,其中Ť和中号是点在{数0 <X <1 ,0 <T }区域.对于向量函数 …