1

我正在使用 for 循环将值分配给 xmaxima 中的变量,更准确地说是矩阵。这些值似乎存储在各个索引中,但我无法通过调用矩阵变量名称来调用整个矩阵值。

例如:

假设我正在分配xreal[1]=5; xreal[2]=6;...... xreal[5]=9. 我希望 xreal 拥有[5 6 7 8 9],这没有发生。

下面是我的代码。这样做的正确方法是什么?

k:1;
for i from 1 thru length(xvals) do (
(if(imagpart(xvals[i]) = 0) then xreal[k]:xvals[i]),k:k+1
);

这里,

xreal[1]; gives 0.06111
xreal[2]; gives 0.080 and so on.

xreal只是给出“xreal”,即变量名本身。

4

2 回答 2

1

您必须先简单地初始化矩阵。

例子:

(%i1)  m:zeromatrix(1,3);
(%o1)  [0 0 0]

(%i2)  for i from 1 thru 3 do (
       m[1,i]: i);
       m;
(%o2)  [1 2 3]
于 2012-05-13T09:34:20.570 回答
1

这是一个更简单的方法。

制作清单(如果 imagpart(xvals[s])=0.....,i,1,长度(xvals))

于 2015-06-17T14:40:28.397 回答