2014-10-15 3 views
1
: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-базовый код, и я не могу понять, почему (бывает где-то, когда список преобразовывается в матрице). В принципе, этот код должен принимать L1 (добавьте 23 до тех пор, пока я не умру (L1) не будет умножен на N), а затем создадим матрицу с N строками и столбцами -int (-dim (L1)/n).Ti-84 синтаксическая ошибка, относящаяся к одной преобразования списка в матрицу

Пример:

Пусть N = 3 и L1 = {9,12,15,22,5,9,14,4,9,1,14,7,9,18,12,19 }

тусклый (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}

тусклый (L1) = 18, которое является кратным 3

Creat е а 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

Есть по крайней мере две проблемы, связанные с вашим кодом:

(1) Для команды увеличивающие обе матрицы должны разделять одинаковое число строк. В вашей программной матрице [A] задано значение {1,1} (Why?), Но столбцы, которые вы хотите добавить, имеют разный размер. Таким образом, вы получите «ошибку измерения».

(2) Список ▶ Команда matr не возвращает матрицу (на самом деле она ничего не возвращает). Поэтому вы не можете использовать его как второй параметр для команды увеличения. Вместо этого вы должны запустить его сначала, а затем использовать что-то вроде увеличения ([A], [B]) ▶ [C].

 Смежные вопросы

  • Нет связанных вопросов^_^