• Как эффективно интегрировать расчеты из MathCAD'f в MS Word 2019?

    @Qwerty1117
    Каждое глубокое деяние, повлиявшее на судьбу человечества, совершается во имя Мечты.
    Когда-то я был простым автором-исполнителем и была у меня Мечта.
    Как было бы хорошо, если бы автоматизировать процесс решения задач по математике!
    Имеется в виду нормальная автоматизация, с генерацией отчета в ворде, и чтобы формулы – в редакторе формул (либо в Math Type, как кому нравится).
    Долгое мучение различных систем компьютерной алгебры (Mathcad, Maple, …) привело лишь к выводу, что автоматизация в указанном смысле («на все готовенькое») непосредственно из того же Mathcada невозможна. Однако, это возможно через еще одну «промежуточную станцию», имя ей – Miktex (Latex).
    Генерируется с помощью Mathcada код редактора Latex, дальше этот код верстается в редакторе Latex, и третий шаг – получившийся результат (с помощью специальной программы GrindEQ, которая позволяет открывать в Worde файлы с расширением .tex) переносится в ворд.
    При этом каждая формула – в редакторе формул, допускает дальнейшее редактирование, таблицы имеют привычный вид, не говоря уже о тексте. Можно отрегулировать размер шрифта, межстрочные интервалы и т.д.
    Как это происходит на практике, можно посмотреть здесь
    https://youtu.be/zqmGQyMn3XQ
    Решение, например, системы из 4 линейных уравнений методом Крамера занимает меньше минуты. И перед нами готовый результат – файл в ворде, который неотличим от того же файла, если решать «вручную».

    Вот список задач, на примере которых здесь демонстрируется этот метод
    1) Сложение и вычитание 2 матриц любой одинаковой размерности
    2) Умножение числа на матрицу любой размерности
    3) Умножение матрицы любой размерности на соответствующую матрицу, на которую умножение возможно
    4) Нахождение обратной матрицы для квадратной матрицы любой размерности
    4.1) Приведение данной матрицы любой размерности, у которой число строк меньше или равно числу столбцов, к ступенчатому виду и приведенному ступенчатому виду путем эквивалентных преобразований над строками. Этот же способ позволяет найти ранг матрицы (который равен числу единиц на главной диагонали матрицы приведенного ступенчатого вида либо числу ненулевых строк матрицы ступенчатого вида). Алгоритм пункта 4.1 работает где-то в 90 % случаев, если матрица не имеет «особенностей» (например, чрезмерное количество нулевых строк)
    5) Нахождение определителей 2 и 3 порядка – по правилу Саррюса, более высокого порядка (4, 5, 6, …) – по правилу эквивалентных преобразований над строками. Возможно нахождение определителей 2 и 3 порядка не по правилу Саррюса, а по правилу эквивалентных преобразований над строками
    6) Решение систем линейных уравнений с любым числом переменных по правилу Крамера, Гаусса, Жордана-Гаусса и матричным методом
    7) Решение матричных уравнений вида XA = B
    На практике, однако, есть некоторые ограничения.
    1) Работа идет с целыми и рациональными числами (что составляет около 95 % практических задач)
    2) Найти обратную матрицу размерности 5 на 5 уже занимает несколько страниц, и дальше ситуация становится только хуже (размер отчета растет лавинообразно с увеличением размерности матрицы)
    3) Latex не может отобразить матрицы размерности больше 10 на 10, как снять это ограничение – интернет-поисковик в помощь
    4) При решении систем уравнений неявно предполагается, что система имеет единственное решение, то есть рассматриваются только системы, у которых rank A = rank A(расширенная) = n. Чтобы решить системы, для которых это не так, надо сначала привести расширенную матрицу системы к приведенному ступенчатому виду (см п. 4.1)
    5) Для корректной работы рекомендуется установка Mathcad 15.
    В 14 версии точно глючит, 13 работает нормально, но там проблема с русскими шрифтами. В более высоких версиях, чем 15 не проверялось (возможно, будет работать)
    6) Для корректной работы MikTex необходимо после установки вручную докачать пакеты, которых нет в программе по умолчанию. Докачивал все пакеты, какие было возможно, это по объему заняло намного больше, чем сама программа (папка в меню пуск MikTex -> Maintance -> Package Manager)
    Файл Mathcad выложу в магазине авторских работ
    Но и без покупки этого файла, пользуясь приведенной методикой, вполне можно автоматизировать процесс решения многих задач (не только линейной алгебры, и многих других разделов, особенно легко это достигается для аналитической геометрии на плоскости и в пространстве, векторной алгебры и невероятно трудно (но возможно) для, например, задачи исследования функции произвольного вида). Не обязательно программировать в Mathcad, можно в любой среде, которая удобна и привычна
    Хочу отдельно обратиться к начинающим авторам. Даже не зная основ математики, овладев этой методикой, Вы сможете сразу успешно (и с приличной скоростью) решать определенное число задач по строгим рецептам. Глубокого понимания, однако, так не достичь, подобные методы могут рассматриваться только как вспомогательные. Работать над собой, увы, надо )