Как преобразовать функцию в матрицу в KDB?

Допустим, у меня есть функция, которая определяет матрицу с точки зрения ее координат i и j:

f: {y+2*x}

Я пытаюсь создать квадратную матрицу, которая оценивает эту функцию во всех местах.

Я знаю, что это должно быть что-то вроде f ' (til 5) /:\: til 5, но я борюсь с отдыхом.

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
0
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Немного перефразируя ваш вопрос, вы хотите создать матрицу A = [aij], где aij = f(i, j), i, j = 0..N-1.

Другими словами, вы хотите оценить f для всех возможных комбинаций i и j. Так:

q)N:5;
q)i:til[N] cross til N; / all combinations of i and j
q)a:f .' i;             / evaluate f for all pairs (i;j)
q)A:(N;N)#a;            / create a matrix using #: https://code.kx.com/q/ref/take/
0 1 2  3  4
2 3 4  5  6
4 5 6  7  8
6 7 8  9  10
8 9 10 11 12

P.S. Нет, (til 5) /:\: til 5 не точно, что вам нужно, но близко. Вы создаете список всех пары, то есть вы соединяете или соединяете первый элемент til 5 с каждым элементом (другого) til 5 один за другим, затем вторым и т. д. Итак, вам нужен оператор соединения (https://code.kx.com/q/ref/join/):

(til 5),/:\: til 5

Это очень очень полезный ответ, большое спасибо!

cjm2671 10.04.2022 18:16

Другие вопросы по теме