Математические (символьные) вычисления 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Математические (символьные) вычисления



 

В настоящее время существует много систем для математических (символьных) расчетов, таких как Maple, MuPad, Mathematica, Maxima, Derive и некоторые другие. Все упомянутые выше системы, так же как и большинство не упомянутых, являются весьма дружественными по отношению к пользователю. Конечно же, и синтаксис языка пользователя у них различный, и библиотеки доступных функций могут меняться от нескольких сотен до тысяч, и внутренние структуры и даже используемые алгоритмы значительно отличаются друг от друга, но все они обладают общими свойствами. Таких принципиальных общих свойств значительно больше, чем различий и, таким образом, после освоения одной из систем компьютерной алгебры переход к другой системе не является сложной проблемой.

Среди математического ПО для аналитических (символьных) вычислений наиболее известно коммерческое - Maple, Mathematica. Это очень мощный инструмент для ученого или преподавателя, аспиранта или студента, позволяющий автоматизировать наиболее рутинную и требующую повышенного внимания часть работы, оперирующей при этом аналитической записью данных, т.е. фактически математическими формулами. Такую программу можно назвать средой программирования, с той разницей, что в качестве элементов языка программирования выступают привычные человеку математические обозначения.

Программа, которую я могу вам порекомендовать, работает на тех же принципах и предоставляет похожий функционал. Самое радикальное ее отличие - то, что она не является ни коммерческой, ни закрытой. Другими словами, речь идет о свободной программе. На самом деле использование свободного ПО более естественно для фундаментальной науки, нежели коммерческого, так как модель, которая используется в свободном ПО - это модель открытости и общедоступности всех наработок. Очевидно, эти же свойства присущи и результатам научной деятельности. Используя такую схожесть подходов, можно фактически рассматривать расширения функционала свободных программ или дополнительные библиотеки, которые могут расширяться для своих нужд в процессе научных исследований, как неотъемлемую часть результатов таких исследований. Эти результаты могут использоваться и распространяться на усмотрение пользования без оглядки на ограничения, налагаемые лицензиями исходного ПО.

В случае же коммерческого ПО, которое находится в собственности его производителя, такого рода свободы значительно ограничены, начиная от невозможности свободно (и законно) передавать само такое ПО вместе с наработками и вплоть до возможных патентных исков от компании-разработчика ПО в случае распространения самодельных дополнительных библиотек к нему.

С другой стороны, основное направление, кроме научных разработок, где такие программы востребованы - это высшее образование. А использование для учебных нужд именно свободного ПО - это реальная возможность и для вуза, и для студентов и преподавателей иметь в своем распоряжении легальные копии такого ПО без больших, и даже сколь-нибудь существенных, денежных затрат.

Это свободная программа аналитических вычислений Maxima. На данный момент Maxima выпускается под две платформы - Linux и MS Windows. Сама по себе Maxima - консольная программа, и все математические формулы описывает обычными текстовыми символами. В этом есть как минимум два плюса. С одной стороны, саму Maxima можно использовать как ядро, настраивая поверх нее графические интерфейсы на любой вкус. Их на сегодняшний день существует немало. С другой стороны, сама по себе Maxima весьма не требовательна к железу.

 

 

Рис. 30.1. Рабочее окно программы символьных вычислений Maxima

Расчеты и статистическая обработка результатов

MathCAD

 

MathCAD является представителем нового поколения программных средств и предназначен для инженерных и математических расчетов. Он чрезвычайно прост в использовании и лёгок в освоении. Его интерфейс настолько удобно сделан, что пользователь работает с рабочим листом программы, как с листом бумаги, где он пишет формулы и математические выражения в их привычной нотации. Mathcad может выполнять вычисления любой степени сложности и ограничен лишь техническими возможностями вашей техники. Помимо численных расчетов, он может выполнять и символьные вычисления (здесь это называется "символьная математика"). Имеются обширные графические возможности. Помимо традиционных типов графиков можно строить поверхности, линии уровня и векторные поля.

Очень интересное и полезное изобретение разработчиков заключается в создании электронной книги, она называется "Центр ресурсов". В книге помещены многочисленные примеры решения типичных задач, причём их можно не только просматривать, но и переносить на свой рабочий лист обычной операцией копирования или буксировкой. Таких электронных книг по различным областям науки и техники существует великое множество и их можно извлекать с серверов Internet.

 

 

Рис. 30.2. Решение задачи сплайн – интерполяции экспериментальных данных в Mathcad

 

Mathcad Explorer. При расчетах и чтении MathCAD документов можно использовать бесплатную программу MathCAD Explorer, но эта программа не позволяет сохранить результаты расчетов. Последнюю версию программы вы можете скачать или с сайта MathSoft, или с образовательного математического сайте http://www.Exponenta.ru.

Ниже приведены еще две более специализированные программы, предназначенные для графического представления и статистической обработки различных данных. Программы легко интегрируются с MathCAD и могут использоваться с ним совместно дополняя друг друга.

S-Plus - мощная программа для статистической обработки и графического представления результатов измерений. Программа хорошо интегрируется с MathCAD и позволяет получать графическое представление расчетов в виде, готовом для публикации в отчете или дипломном проекте. Axum (по существу, облегченная версия S-Plus). Демонстрационные версии всех программ можно скачать на сайте MathSoft (http://www.mathsoft.com).

 

Matlab - Scilab - Octave

 

Системы компьютерной математики (СКМ) сегодня стали важнейшим рабочим инструментом во многих фундаментальных и прикладных науках. Их использование существенно облегчает исследователю жизнь, а зачастую вообще является единственным способом получения каких-либо значимых результатов. Однако для большинства отечественных пользователей коммерческие СКМ высшего класса (MathCAD, Mathematica, Maple и др.) слишком дороги. Разумным и фактически безальтернативным выходом представляется бесплатное ПО, и оказывается, в нем также встречаются весьма качественные разработки, одной из которых является Scilab.

Пакет Scilab является свободно распространяемой (вместе с исходными кодами) системой компьютерной математики. До недавнего времени он разрабатывался исследовательскими институтами INRIA и ENPC (оба находятся во Франции), а с мая 2003 г. поддержку продукта взял на себя специально созданный для этой цели Scilab Consortium, с Web-узла которого (http://scilabsoft.inria.fr/) можно загрузить последнюю версию программы и полный комплект документации (на момент подготовки материала была доступна версия 4.0). Scilab выпускается для операционных систем Windows (любая 32-разрядная версия), наиболее популярных Unix/Linux и не нуждается в больших системных ресурсах: инсталляционный модуль имеет размер до 20 MB, а для установки требуется немногим более 40 MB.

Пакет не случайно имеет название, созвучное с Matlab -- одной из наиболее мощных коммерческих СКМ. У обоих приложений немало общего -- от интерфейса и принципа взаимодействия с пользователем через командную строку до синтаксиса языка. Таким образом, Scilab можно рассматривать как облегченный вариант Matlab, который, впрочем, сохраняет основные возможности последнего.

Scilab является типичным командным интерпретатором и структурно состоит из интерпретирующей системы, принимающей команды пользователя и возвращающей результаты, и двух библиотек: собственных функций и дополнительных -- на языках С и Fortran.

Хотя Scilab является бесплатным продуктом, его вычислительные возможности, обеспеченные приблизительно тысячью встроенных функций, вполне соответствуют СКМ профессионального уровня.

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

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

 

 

Рис. 30.3. Рабочее окно, окно встроенного редактора программ и графическое окно Scilab.

 

Octave - интерактивная программная система с открытым исходным кодом для числовых вычислений и построения графиков. Она предназначена в основном для матричных вычислений: решения систем уравнений, вычисления собственных векторов и собственных значений и так далее. Во многих реальных технических задачах данные могут быть представлены как матрицы и векторы, и решение этих задач сводится к этим формам решения. Кроме того, Octave может представлять данные различным образом, а также имеет свой собственный язык программирования, который позволяет расширять систему. Об Octave можно говорить как об очень мощном, программируемом, графическом калькуляторе. Octave облегчит Вам решение широкого круга числовых задач и оставит больше времени на эксперимент и обдумывание более широкой проблеме.

Ценность Octave увеличивается еще и в связи с тем, что синтаксисом она совместима с MATLAB, который обычно используется в промышленности и науке.

Octave разработана для решения математических задач численно. Это означает, что Octave может не всегда давать точное решение задачи, и ее не должно путать с программами типа Mathematica или Maple, которые дают символьные решения, делая алгебраические манипуляции. Это не означает, что Octave лучше или хуже - она используется для решения своего круга задач. Самые реальные математические проблемы (особенно технические!) не имеют четких символьных решений.

 

 

Рис. 30.4. Программа Octave.

 

Octave и MATLAB широко используются инженерами и учеными и в промышленности и в науке для того, чтобы выполнять числовые вычисления, и для того, чтобы разработывать и проверять математические алгоритмы. Например, NASA использует ее для разработки космических кораблей; Jaguar Racing - чтобы отображать и анализировать данные, переданные от автомобилей Formula 1; Sheffield University - для разработки программного обеспечения для распознаваия злокачественных клеток.

 

Построение графиков

 

Для графического представления результатов измерений и расчетов можно использовать все вышеприведенные программы, но есть специализированные программы, которые обеспечивают создание графиков очень высокого качества и позволяют делать их по всем требованиям, которые предъявляются к публикациям в журналах или к оформлению курсовых и дипломных проектов. Grapher, Origin, SigmaPlot, Gnuplot и т.д.

 

Sigma Plot

 

Sigma Plot (последняя версия 9) - наиболее удобная на мой взгляд программа, позволяющая не только строить разнообразные графики, но и производить анализ экспериментальных данных.

 

 

Рис. 30.5. Программа построения графиков и обработки данных SigmaPlot

 

Origin

 

Похожими возможностями обладает и еще одна широко распространенная в научной и инженерной среде программа – Origin.

 

Рис. 30.6. Программа построения графиков и обработки данных Origin

 

Gnuplot

 

Gnuplot - удобная и свободно распространяемая программа. Особенно популярна программа в университетской и академической среде.

Программа консольная. Для построения графика необходимо создать обычный текстовый файл содержащий команды.

Пример командного файла *.plt, набранного во встроенном редакторе Gnuplot или в любом текстовом редакторе:

set nokey

set terminal postscript enhanced mono

set output "F_2.eps"

set size 0.7,1

set origin 0,0

set multiplot

set pointsize 0.5

set origin 0,0

set size 0.7,1

set yrange [50:120]

set xrange [100:375]

set label "a" at 120,115

set xlabel "T, K"

set ylabel "C_{p}, J/mol{/Symbol \327}K"

plot 'Cp_BTZ35.dat'using 1:2 with points 6,

'Latt_BTZ35.dat'using 1:2 with lines 1

set origin 0.25,0.1

set size 0.4,0.4

set arrow from 100,0 to 370,0 nohead

set xrange [100:370]

set label "b" at 130,1.5

set xlabel "T, K"

set yrange [-0.5:2.0]

set ylabel "{/Symbol D}C_{p}, J/mol{\264}K"

plot 'btz35.txt' with points 6

unset multiplot

 

Результат работы программы показан на рис. 30.8.

 

 

Рис. 30.7. Программа Gnuplot

 

 

Рис. 30.8. Результат работы программы Gnuplot

 

Работа с текстом

 

MS Word

 

Microsoft Word - (сейчас доступен Word 2007) фактически все тексты набиваются в нем. Вряд ли имеет смысл рассказывать о его достоинствах.

Если вам необходимо набирать много математики, лучше всего заменить встроенную программу - редактор математических формул на MathType - более мощную и удобную программу.

 

OpenOffice.org

 

Альтернативой Microsoft Word может служить все более набирающая популярность свободно распространяемая программ OpenOffice.org. OpenOffice.org - это свободный набор офисных программ, в состав которого входят следующие компоненты:

- Writer (текстовый процессор и редактор HTML).

- Calc (электронные таблицы).

- Draw (графический редактор).

- Impress (система презентаций).

- Редактор формул Match.

- Модуль доступа к данным.

OpenOffice.org является полноценным офисным пакетом, не уступающим по своим возможностям таким популярным проприетарным программам, как MS Office. Он содержит компоненты для работы с текстом, электронными таблицами, работает с базами данных, обрабатывает графику, создает сложные документы интернет-публикаций.

Разработчики OpenOffice.org, внедряя передовые технологии обработки документов, старались максимально облегчить работу обычным пользователям. Поэтому при первом знакомстве вы попадаете в привычную среду, знакомую по приложениям MS, и можете сразу начать работу. Переучиваться не нужно; навыков работы с MS Office вполне достаточно. Если у вас есть книги по MS Office, то они подойдут и для первого знакомства с OpenOffice.org - основные приемы работы чрезвычайно похожи.

Начав использовать OpenOffice.org, вы можете по-прежнему работать со всеми файлами, которые подготовили ранее в среде MS Office, и спокойно обмениваться документами c пользователями других программ.

OpenOffice.org читает и сохраняет документы в большинстве популярных форматов. К ним относятся файлы MS Word, Excel, PowerPoint, RTF, html, xhtml, DocBook, простые текстовые файлы в различных кодировках. Кроме того, начиная с версии 1.1 OpenOffice.org, позволит экспортировать сложные документы с иллюстрациями и графиками в популярном формате pdf. Система презентаций Impress позволяет экспортировать презентации в популярный формат Macromedia Flash (.swf).

OpenOffice.org содержит все необходимые компоненты для создания сложных систем. Он поддерживает шаблоны, умеет работать с базами данных, содержит собственный язык программирования

 

 

Рис. 30.9. Рабочее окно текстового редактора Write из пакета OpenOffice

 

 

30.4.3. Latex (Miktex (ProTeX) +TeXnicCenter)

 

TeX - система для верстки текстов с формулами (название, американский математик и программист Дональд Кнут, придумал от греческих "Технология" и "Искусство", поэтому последняя буква читается как русское Х).

Преимущества:

- наивысшее типографское качество при печати;

- сколь угодно сложные математические формулы;

- работает на всех существующих компьютерных платформах;

- гибкие средства для работы с логической структурой текста;

-....

Недостатки:

- не является системой типа WYSIWYG;

- результат нужно печатать на лазерном или РоstScript принтере;

-...

Поэтому при выборе системы подготовки текста нужно все взвесить. В каких-то случаях можно обойтись и Microsoft Word.

Необходимость использования TeXa можно обосновать тем, что он:

- язык международного обмена по математике и физике (большинство научных издательств принимают тексты в печать только в этом формате);

- средство обмена в рамках Internet/Intranet (система хранения и доступа к статьям, отчетам и т.д. в формате HTML).

 

Рис.30.10. Результат работы LATEX.

 

Кусок текста, набранный в любом текстовом редакторе, сохраняется в файле с расширением *.tex, например file.tex

 

\documentclass [12pt]{article}

\usepackage {graphicx}

\usepackage[cp1251]{inputenc}

\usepackage[russianb]{babel}

\usepackage{a4,color}

\usepackage{verbatim}

\usepackage{amsmath}

\usepackage{srctex}

\begin{document}

Разница коэффициентов линейного теплового расширения двух различных материалов может быть использована при конструировании термометров. Эта разность дается уравнением

\[

\Delta l = l(1+\alpha _1\Delta T)-l(1+\alpha _2\Delta T) =

l(\alpha _1-\alpha _2)|Delta T

\]

где $l$ - длина сенсора, $\alpha _1$ и $\alpha _2$ - коэффициенты линейного теплового расширения двух материалов, $\Delta T$ - изменение температуры.

 

\begin{figure}

\centering

\includegraphics[width=0.90\textwidth]{dil1.ps}

\caption{Принцип действия дилатометрического термометра}

\label{fig:dil1}

\end{figure}

 

\end{document}

Результат работы LaTeX после введения последовательности команд latex file.tex в командной строке показан на рис.30.10.

Но лучше работать в специальном TeX-редакторе — TeXnicCenter (Windows) или Kile (Linux)

 



Поделиться:


Последнее изменение этой страницы: 2016-12-13; просмотров: 657; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.131.110.169 (0.091 с.)