: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。这里
答案 0 :(得分:2)
您的代码至少存在两个问题:
(1)对于augment命令,两个矩阵必须共享相同的行数。在您的程序矩阵中[A]设置为维{1,1}(为什么?),但您想要追加的列的大小不同。所以你会得到一个“维度错误”。
(2)List▶matr命令不返回矩阵(实际上它不返回任何内容)。因此,您不能将它用作augment命令的第二个参数。相反,你必须首先运行它然后使用像增强([A],[B])▶[C]这样的东西。