#excel #matlab #linspace
#excel #matlab #linspace
Вопрос:
В Excel мне нужно линейно разделить количество ячеек ‘X’ от значения ‘A’ до значения ‘B’ в значении шага ‘i’. В идеале я хочу добиться того же результата, как если бы я использовал функцию linspace в Matlab.
Комментарии:
1. Если у вас есть Excel 365, вы можете использовать
SEQUENCE
Ответ №1:
эта формула работает аналогично:
=SEQUENCE(rows,columns,start,step)
строки или столбцы — количество повторений в начале — начальное значение
пример: =SEQUENCE(,3,0,2)
для 3 столбцов дает вам: 0 2 4 если вы хотите заполнить строки, просто укажите число в строках.
Надеюсь, это поможет!
Ответ №2:
Такой встроенной функции нет, но вы можете создать именованную пользовательскую функцию для ее выполнения с точно такой же схемой аргументов, используя новые функции LAMBDA и MAKEARRAY:
lambda(A, B, i , makearray(1, i, lambda(r, c, A (c-1)*(B-A)/(i-1))))
Ответ №3:
Объединив ответы Тьяго и ттарчалы, мы можем создать простую LINSPACE
функцию, которая просто переносится SEQUENCE
и помещается в диспетчер имен для последующего использования:
Ввод функции в диспетчер имен (PNG)
Затем вы можете использовать ее так же, как и любую другую функцию Excel:
Использование новой LINSPACE
функции (PNG)
Эта функция по умолчанию создаст вектор-столбец (который может TRANSPOSE
быть общим):
=LAMBDA(start, stop, num, SEQUENCE(num, 1, start, (stop - start)/(num - 1)))
Или, если вы предпочитаете, вектор строки:
=LAMBDA(start, stop, num, SEQUENCE(1, num, start, (stop - start)/(num - 1)))
Ответ №4:
OP ссылается на linspace (afaik Matlab / Numpy linspace работает так же), поэтому ПОСЛЕДОВАТЕЛЬНОСТЬ не является ответом. ПОСЛЕДОВАТЕЛЬНОСТЬ принимает эти аргументы,
- количество элементов (строк, столбцов),
- начальное значение,
- увеличение. Это похоже на arange() .
linspace() принимает эти аргументы:
- начальное значение,
- конечное значение,
- количество элементов. Например, linspace(3,5,5) вернет [3, 3.5, 4, 4.5, 5]
Я не нашел шаблонного способа сделать это, так как спешил, но я нашел быстрый и грязный способ создания диапазона ячеек, дающего результат типа linspace. Приведенные ниже инструкции даны исходя из того, что начальные, конечные и количество элементов являются известными значениями, а диапазон представляет собой одну строку слева направо.
- Выберите ячейку, которая будет вашим начальным (крайним левым) значением, и введите значение.
- Переместите n ячеек вправо (где n = количество требуемых элементов) и введите конечное значение.
- Выделите ячейки от начального значения до конечного значения, включая пустые ячейки между ними.
- На вкладке «Главная» в группе лент «Редактирование» нажмите «Заполнить» и выберите «Серия …»
- Во всплывающем окне series вам нужно только установить флажок «Тренд», а затем нажать кнопку «ОК».
Чтобы получить результат в приведенном выше примере, вы должны ввести «3» в A1 и «5» в E1, затем выбрать ячейки A1: E1.