Пример ввода/вывода в стандартном интерфейсе системы Mathematica.
Вы можете также обращаться к ядру системы Mathematica непосредственно с текстового терминала.
Integrate[Sqrt[Log[x]], x]
1 -(-) Sqrt[Pi] Erfi[Sqrt[Log[x]]] + x Sqrt[Log[x]] 2 |
Это код языка C для посылки некоторого выражения из внешней программы в систему Mathematica.
/* Integrate[Sqrt[Log[x]], x] */ MLPutFunction( stdlink, "EvaluatePacket", 1); MLPutFunction( stdlink, "Integrate", 2); MLPutFunction( stdlink, "Sqrt", 1); MLPutFunction( stdlink, "Log", 1); MLPutSymbol( stdlink, "x", 1); MLPutSymbol( stdlink, "x"); MLEndPacket( stdlink); |
Эта команда подключает компилируемую внешнюю программу C, которая выполняет поразрядные операции с целыми числами.
link=Install["bitops"]; |
Выполнение внешней функции BitAnd.
BitAnd[22222,33333] 516 |
Отключение внешней программы.
Uninstall[link]; |
Microsoft Word в качестве интерфейса системы Mathematica.
Web-страница, устанавливающая связь с системой Mathematica.
Microsoft Excel, связанный с системой Mathematica.
MathLink позволяет устанавливать шаблоны, чтобы точно определить, каким образом должны вызваться внешние программы. Это определяет связь с библиотекой подпрограмм языка C.
:Begin: :Function: anneal :Pattern: TSPTour[r:{{_, _}..}] :Arguments: {First[Transpose[r]], Last[Transpose[r]], Length[r], Range[Length[r]]} :ArgumentTypes: {RealList, RealList, Integer, IntegerList} :ReturnType: Manual :End: |
Создание в системе Mathematica трехмерного графика.
Это изображение было получено с использованием возможностей внешнего графического редактора, в который оно было передано из системы Mathematica через протокол MathLink.
Вы можете использовать MathLink, чтобы управлять интерфейсом системы Mathematica из ее ядра.
Эта команда сообщает интерфейсу системы, что надо открыть окно, содержащее палитру цветов.
FrontEndTokenExecute["ColorSelectorDialog"] |
На большинстве компьютерных систем (обычно исключение составляет Macintosh) эта команда запускает дополнительное ядро системы Mathematica на Вашем компьютере.
link=LinkLaunch["MathKernel -mathlink"]; |
Команда чтения данных из дополнительного ядра.
LinkRead[link] InputNamePacket["In[1]:= "] |
Запись команды в дополнительное ядро.
LinkWrite[link,Unevaluated[$SessionID]] |
Считывание $SessionID из вспомогательного ядра.
LinkRead[link] ReturnPacket[20002811790628968292] |
Значение $SessionID в Вашем главном ядре будет отличаться.
$SessionID 20000841219624707995 |
Закрытие дополнительного ядра.
LinkClose[link]; |