Получение данных из подключений MathLink - PullRequest
1 голос
/ 04 мая 2011

Я пытаюсь создать библиотеку C # (DLL), которая вызывает Mathematica 8 с использованием протокола .NET / Link.В частности, я использую его для таких вещей, как БПФ и т. Д. В настоящее время я использую EvaluateToOutputForm и анализирую результирующую строку для двойников.Каждый раз, когда я пытаюсь использовать Evaluate () и GetDoubleArray (), он выдает сообщение об ошибке (исключение), которое я пытаюсь прочитать из данных неправильной размерности.Даже использование Evaluate ("2 + 2") и затем GetInteger () завершается с ошибкой, что ожидающие данные не являются целыми числами (в основном).

Проблема с EvaluateToOutputForm () заключается в том, что числа, которые я анализирую, скажем, из Abs @ Fourier [data], неверны для нетривиальных (например, довольно длинных) входных данных.Я не могу сказать, что происходит не так.Может ли кто-нибудь здесь помочь мне?

1 Ответ

2 голосов
/ 04 мая 2011

OutputForm действительно полезна только для просмотра результата.Вы действительно хотите использовать InputForm здесь, поскольку он поддерживает полную точность чисел в результате.Синтаксис InputForm хорошо определен и разбирается.InputForm также никогда не приводит к псевдо-2D форматированию, как OutputForm.

...