2015-01-23 4 views
0

У меня следующие списки:проверки, если два списка равны в Maple

песни1: = [1, 5, 14, 30, 55, 91, 140, 204, 285, 385, 506, 650 , 819, 1015,

1240, 1496, 1785, 2109, 2470, 2870] list2: = [1, 5, 14, 30, 55, 91, 140, 204, 285, 385, 506, 650, 819, 1015,

1240, 1496, 1785, 2109, 2470, 2870]

каждая из которых сформирована с помощью процедуры, я определен. Мне нужно проверить, что они равны, что и есть. Однако, когда я пытался использовать функцию evalb, а также флаг, который я обновлял во время цикла, в обоих случаях я получил «ложь» в качестве ответа вместе с сообщением об ошибке:

«ошибка, окончательное значение в петле цикла должно быть числовым или символом «

Что я делаю неправильно?

+0

Вы будете необходимо опубликовать код. Как говорит saforrest, Maple автоматически уменьшает равные списки к одному и тому же объекту. Ошибка, которую вы получаете, связана с чем-то другим. – DrC

ответ

0

Maple автоматически разрешит несколько копий списков с идентичными записями на один и тот же объект. Таким образом, чтобы проверить равенство, вам даже не нужно прокручивать списки программно. Вы можете просто сделать:

evalb(list1=list2); 

Если же вы хотите сделать более сложные сравнения, вы можете использовать команду verify. Например, это будет убедиться, что первый список имеет второй список как подсписка:

verify([1, 2, 3, 4, 5], [2, 3, 4], superlist); 

Вызов проверить, не второго аргумента эквивалентно первому тесту evalb, например:

verify(list1, list2); 
Смежные вопросы