所以我正在通过一个程序来解决Scilab中的波偏微分方程,并且该程序将每个粒子的初始速度设置为波
u=xrange.*(1-xrange)
其中xrange
是x轴值列表。我的问题是,xrange
之后的时期是什么?
答案 0 :(得分:0)
点表示逐个元素的操作。
如果您将.
放在其他运算符(*
,/
,\
或^
)之前,则操作将按元素应用,而不是矩阵方式。
您可以在Scilab控制台上尝试简单的代码:
--> A = eye(2,2)
A =
1. 0.
0. 1.
--> B = [1 2; 3 4]
B =
1. 2.
3. 4.
--> A * B
ans =
1. 2.
3. 4.
--> A .* B
ans =
1. 0.
0. 4.
--> B^2 //which is the same as B*B
ans =
7. 10.
15. 22.
--> B.^2 //which is the same as B.*B
ans =
1. 4.
9. 16.
在您的情况下,使用.*
是一种更快,更易读的方法:
tmp = 1 - xrange;
for i = 1 : size(xrange,'r')
for j = 1 : size(xrange,'c')
u(i,j) = xrange(i,j) * tmp(i,j);
end
end