Как быстро заполнить список диапазоном чисел

У меня есть программа, где у меня есть список с 0:90 и второй список, который рассчитывается в каждой точке, используя этот список. уравнение не может быть записано как функция, которую можно легко построить, поэтому я использую график статистики для построения списка как x, а другой как y

Я хочу каждый раз определять список 0-90, но я не могу найти способ определить весь список одним грязным махом, как на другом языке.

(Я думаю о MATLAB, где я мог бы легко использовать L1 = 0:.1:90)

Вместо этого я использую цикл for для определения каждого значения по одному, хотя это довольно медленно.

Есть ли способ определить список в стиле Matlab, как указано выше? Если нет, то есть ли способ ускорить это? Я также вычисляю каждое значение другого списка индивидуально во время цикла for, поэтому, если бы я мог быстро определить первое, я думаю, что мог бы быстро вычислить второй без цикла for


person user74671    schedule 27.04.2018    source источник


Ответы (1)


Да, вы можете сделать это для обоих списков. Чтобы инициализировать первый список, вы можете сделать что-то вроде этого:

seq(I,I,0,90→L1

Это сохранит список {0 1 2 ... 89 90} в L1. Затем вы можете сделать любой расчет, который вам нравится. Например, чтобы инициализировать первый список, как вы хотите, и выполнить вычисление типа X2+1, чтобы получить второй список, вы можете сделать следующее:

seq(I,I,0,90→L1
L1²+1→L2

Это сохранит новый список {1 2 5 ... 7922 8101} в L2. Наконец, вы можете комбинировать их, если хотите:

seq(I²+1,I,0,90

Это создаст тот же список {1 2 5 ... 7922 8101}, что и раньше. Дайте мне знать, если у вас есть дополнительные вопросы, и я буду рад разъяснить.

person Timtech    schedule 28.04.2018
comment
Спасибо за ответ. Его определенно удобнее печатать, хотя и не намного быстрее. Наверное, я слишком многого ожидал от своего калькулятора. - person user74671; 28.04.2018