2017-02-18 9 views
1

Я стараюсь подружиться с физическим пакетом и матрицами. Но я столкнулся с трудностями. Чтобы быть более конкретным, чтобы рассмотреть код:maple - очень большая ошибка или матрицы в пакете физики

with(Physics) 

Setup(mathematicalnotation = true) 

Coordinates(X) 

Setup(tensors = A[mu](X)) 

PDEtools:-declare(A(X), p0(X), pm(X), pp(X), pt(X), U(X), m5(X)) 

А затем создать матрицу:

pt := proc (X) options operator, arrow; Matrix(2, 2, [[p0(X), sqrt(2)*pp(X)], [sqrt(2)*pm(X), -p0(X)]]) end proc; 

NULL; 

It displays as

Почему р0, р, м стала функция только одна переменная x1?

Интересно, что клен понимает the next matrix

Почему только одна переменная?

ответ

0

В таких случаях, как этот, часто бывает полезно ознакомиться с документацией. На странице справки для Coordinates вы читаете: «Команда Coordinates также устанавливает псевдоним для прописной буквы X, чтобы представлять список координат ...» Итак: вы вводите X и автоматически расширяетесь до x1, x2, x3, x4, в то время как эта последовательность переменных отображается как один X. НО, когда вы определяете процедуру, как в pt: = proc (X) .... end proc, X вы видите, что есть только фиктивный символ (только один) параметр процедуры.

Это отвечает на ваш вопрос: вы видите p0, pp, pm как функции только одной переменной, поскольку pt определяется как функция только одной переменной: когда вы выполняете pt (X) только первый элемент в последовательности, это x1, используется, остальные три отбрасываются. Из контекста я понимаю, что то, что вы хотите определить, это pt: = proc (x1, x2, x3, x4) .... end proc. Затем используйте его в качестве Pt (X), и вы увидите, p0, PP, PM, как функции четырех переменных, которые, в свою очередь, отображаются как единый капитал X.

Edgardo S. Cheb-Terrab

Физика, дифференциальные уравнения и математические функции, Maplesoft.

 Смежные вопросы

  • Нет связанных вопросов^_^