Ti-84语法错误与单个列表转换为矩阵有关

时间:2014-10-15 12:14:26

标签: syntax-error ti-basic

:N-remainder(dim(L1),N→ dim(L2)
:Fill(23,L2
:augment(L1, L2->L1

:{1,1→dim([A]
:For(x,1,dim(L1)/N
:augment([A],List▶matr(seq(L1(I),I,Nx-N+1,Nx),[B]
:End

运行这个Ti-basic代码时出现语法错误,我无法弄清楚为什么(当List被转换为矩阵时发生)。基本上这个代码假设采用L1(加上23,直到我暗(L1)是N的乘法),然后创建一个N行和-int(-dim(L1)/ n)列的矩阵。

示例:

设N = 3和 L1 = {9,12,15,22,5,9,14,4,9,1,14,7,9,18,12,19}

dim(L1)= 16这不是3的乘法(18是两次加23到L1)

L1 = {9,12,15,22,5,9,14,4,9,1,14,7,9,18,12,19,23,23}

dim(L1)= 18是3的倍数

创建一个3x6矩阵,其中Col1 = {9,12,15},Col2 = {22,5,9},...,Col6 = {19,23,23}

http://tibasicdev.wikidot.com/forum/t-1039272/comments/show?from=activities#post-2131820 阅读完整的convo。这里

1 个答案:

答案 0 :(得分:2)

您的代码至少存在两个问题:

(1)对于augment命令,两个矩阵必须共享相同的行数。在您的程序矩阵中[A]设置为维{1,1}(为什么?),但您想要追加的列的大小不同。所以你会得到一个“维度错误”。

(2)List▶matr命令不返回矩阵(实际上它不返回任何内容)。因此,您不能将它用作augment命令的第二个参数。相反,你必须首先运行它然后使用像增强([A],[B])▶[C]这样的东西。