2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 индексация списков в Maple
Сообщение22.10.2020, 13:26 
Здравствуйте. Можно ли в Maple индексировать списки отрицательными числами и нулем?
Например, в списке a:=[1,2,3,4] я хочу, чтобы a[-1]=1,a[0]=2,a[1]=3 и a[2]=4.

 
 
 
 Re: индексация списков в Maple
Сообщение22.10.2020, 16:08 
Аватара пользователя
А вы сами пробовали? В справке пишут, что можно, с некоторыми особенностями.

 
 
 
 Re: индексация списков в Maple
Сообщение22.10.2020, 16:46 
Aritaborian в сообщении #1488477 писал(а):
В справке пишут, что можно, с некоторыми особенностями.
Указанная страница справки по rtable. Объекты, имеющие тип list, строятся на базе rtable?
Попробовать можно, но получим ожидаемое
Код:
> a:= [1,2,3,4]:
> a[0];
Error, invalid subscript selector
> a[-1], a[-2], a[-3], a[-4];
                   4, 3, 2, 1
> a[5];
Error, invalid subscript selector
Т.е. с list не получится и надо смотреть в сторону table или rtable.

-- Thu 22.10.2020 16:08:25 --

Пример с table
Код:
> a:= table([-1=1, 0=2, 1=3, 2=4]):
> a[-1], a[0], a[1], a[2];
                                 1, 2, 3, 4

 
 
 
 Re: индексация списков в Maple
Сообщение22.10.2020, 19:10 
GAA
Спасибо, работает с table.

 
 
 
 Re: индексация списков в Maple
Сообщение22.10.2020, 20:02 
Мне совсем непонятен вопрос начального сообщения. Если нужно изменить нумерацию элементов в массиве (начинать не с 1), то вот пример с устаревшим (deprecated) array
Код:
> a:= array(-1..2, [1, 2, 3, 4]):
> a[-1], a[0], a[1], a[2];
                                        1, 2, 3, 4
> a[-2];
Error, 1st index, -2, smaller than lower array bound -1
> a[3];
Error, 1st index, 3, larger than upper array bound 2


-- Thu 22.10.2020 19:12:40 --

Более современный тип
Код:
> a := Array(-1..2, [1,2,3, 4]);
            a := Array(-1 .. 2, {-1 = 1, 0 = 2, 1 = 3, 2 = 4}, datatype = anything, storage = rectangular, order = Fortran_order)
> a[-1], a[0], a[1], a[2];
            1, 2, 3, 4

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group