Вопрос

на языке программирования J ,

-: i. 5 

вышеупомянутая функция вычисляет половины всех целых чисел в [0,4]. Теперь предположим, что я хотел бы переписать функцию -: просто для удовольствия. Мое лучшее предположение до сих пор было

]&%.2

но это не похоже на это. Как ты это делаешь?

Это было полезно?

Решение

%&2    NB. divide by two
0.5&*  NB. multiply by one half

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

Обратите внимание, что]% 2: также будет работать, но для обеспечения правильной грамматики вы либо захотите использовать ее в качестве определения имени, либо захотите поместить выражение в скобки.

Я видел, что вы используете%. вероятно, потому что вы делили матрицу и думали, что вам нужно сделать «матричное деление».

Матрица деления и обратная матрица, о которых они говорят, существуют для алгебры матриц, где у вас есть список, ну, по сути, многочленов, и вы хотите выполнить преобразования для многочленов одновременно, чтобы решить уравнения , Одна из вещей, которую вы действительно легко можете сделать в J, это матричная алгебра, есть встроенные функции для деления матрицы и для инвертирования матрицы (как вы видели), а в разделе фраз есть короткие фразы для выполнения всех типичных матричных преобразований. , Например, определитель.

Но когда вы просто делите вектор на скаляр, чтобы получить вектор, или вы делите матрицу на соответствующие элементы другой матрицы, это просто символ% деления.

Если вы хотите попытаться понять это, посмотрите на проблему Эйлера 101 (http://projecteuler.net/problem=101), а затем подгонку кривой Google на сайте Jsoftware.com. Создание матриц из наблюдений и базовых матриц, как показано, позволяют решить для ax ^ 2 + bx + c = y, где у вас есть x и y, и вы хотите определить a, b и c. Просто не забывайте использовать расширенную арифметику для всего, так как результирующие уравнения очень хороши, но не идеальны, если вы этого не делаете, и для решения уравнения вам нужны совершенные уравнения.

Просто подумайте, если вы не хотите играть с матричной алгеброй, вам может быть все равно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top