Как быстро заполнить список диапазоном номеров - PullRequest
0 голосов
/ 27 апреля 2018

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

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

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

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

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

1 Ответ

0 голосов
/ 28 апреля 2018

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

seq(I,I,0,90→L1

Это сохранит список {0 1 2 ... 89 90} в L1. Затем вы можете делать любые расчеты, которые вам нравятся. Например, чтобы инициализировать первый список так, как вы хотите, и выполнить вычисления, такие как X 2 + 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}, что и раньше. Дайте мне знать, если у вас есть дополнительные вопросы, и я буду рад уточнить.

...