Научная статья на тему 'Совместное использование пакетов MathCAD, Mathematica и MS Excel в инженерной практике'

Совместное использование пакетов MathCAD, Mathematica и MS Excel в инженерной практике Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1042
141
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Алексеев Е. Р., Чеснокова О. В., Ломовцева О., Вавич М.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Совместное использование пакетов MathCAD, Mathematica и MS Excel в инженерной практике»

ЛИТЕРАТУРА

1. Дьяконов В.П., Абраменкова И.В. МаЙаЬ 5.0\5.3. Система символьной математики. М.: Нолидж. - 1999, 640с.

Е. Р. Алексеев, О. В. Чеснокова, О. Ломовцева, М. Вавич СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ ПАКЕТОВ MATHCAD, MATHEMATICA И MS EXCEL В ИНЖЕНЕРНОЙ ПРАКТИКЕ

На современном этапе развития компьютерной техники при решении инженерных задач пользователю приходится работать с различными прикладными программами. Для математической обработки данных современный инженер и научный работник часто пользуются возможностями пакетов MathCAD и Mathe-matica. Все эти три пакета разработаны разными производителями ПО, у них разный формат хранения данных и передача данных из одного пакета в другой представляет определённую проблему. Методам решения этой проблемы и посвящена данная статья. Одним из недостатков пакета MathCAD является недостаточно удобное хранение больших массивов информации (исходных данных). Большие массивы информации удобно хранить в рабочих листах MS Excel. Механизм передачи данных мы будем рассматривать на примере двух массивов Р0 и Uj и матрицы А, хранящихся в файле matr.xls (обязательно в первом листе). Массив Р0 хранится на первом листе, в ячейках A1:A30, массив Uj - в ячейках C3:K3, матрица А хранится в ячейках C5:K29. MathCAD может считать эти данные следующим способом. Внедрить в MathCAD компонент MS Excel. Для этого выбрать в меню команду Вставка\Компонент и в открывшемся диалоговом окне Excel, затем щёлкнуть по кнопке Next, и в открывшемся диалоговом окне выбрать имя открываемого файла. В следующем диалоговом окне в ячейке Outputs указать количество данных передаваемых из Excel в MathCAD (в нашем случае 3), а в ячейке Inputs - количество данных передаваемых из MathCAD в Excel, и указать диапазоны MS Excel, где хранятся (или будут храниться) данные. В нашем случае окно примет вид, представленный на рис. 1.

Рис. 1

Следовательно, первой переменной будет P0, второй - Uj, третьей -Л. Затем в листе MS Excel ввести имена переменных P0, Ub Л. И в MathCAD мы увидим следующую конструкцию:

Лист

Таким образом, мы передали значения из листа Excel в MathCAD в переменные P0, U1, Л. Если в листе MS Excel хранится только один массив данных, то можно воспользоваться компонентом File Read or Write в формате MS Excel. Пусть в первом рабочем листе файла U0.xls в ячейках A1:A18 хранятся значения U0. Передадим эти значения в MathCAD в качестве массива U0. Для этого выполним команду MathCAD Вставка\Компонент File Read or Write. В появившемся диалоговом окне выберем команду Read from a File (для записи в файл - Write to a File). В следующем окне выберем имя файла, из которого будем передавать данные и формат файла. После этого в MathCAD следует указать имя переменной

-и0. ^ ' '

Ещё одним способом передачи данных между MS Excel и MathCAD является использование текстовых файлов. Для передачи данных из MathCAD в MS Excel можно поступить следующим образом: записать массив (матрицу) в текстовый файл командой WRITEPRN (или WRITE). Например, WRITEPRN("U00.txt"):=U0. Затем из MS Excel считать текстовый файл. Напомним, что в русской версии Windows по умолчанию разделителем между целой и дробной частью числа является запятая, а в MathCAD - точка. Чтобы избежать этого конфликта, установите разделителем между целой и дробной частью запятую. Для передачи данных из MS Excel в MathCAD нужно сохранить данные рабочего листа MS Excel в текстовом формате, а затем считать их из MathCAD функцией READPRN.

В процессе решения различных задач в области электротехники, теплотехники у нас возникла необходимость передавать данные между MathCAD, MS Excel и MathematiTOK Т ак как форматы данных и рабочих файлов MathCAD, MS Excel и Mathematica абсолютно разные, то самым простым и эффективным способом передачи данных является внешний текстовый файл. Для передачи данных в пакет Mathematica нужно сохранить файл MS Excel в текстовом формате или записать массив (или матрицу) MathCAD функцией WRITEPRN. Например, запишем в файл ex6 матрицу B(3,5) командой MathCAD WRITEPRN("ex6"):=B. Затем стандартной командой Mathematica READLIST можно считать содержимое этого файла в списке пакета Ma^mat^

In[4]:=B= ReadLiStexffl, NumbeiNumbeiNumber Q

Out[4]= 1,2, 3 , 4, 5, 6 , 7, 8, 9 , 1, 2, 3 , 4, 5, 6

Более сложную задачу представляет передача данных (массивов, матриц) из пакета Mathematica в MathCAD, Excel. Дело в том, что при записи данных в файл Mathematica не создаёт чистый текстовый файл, а пишет в файл кроме числовых значений ряд своих символов (" и \n). Созданные Matematicой файлы нельзя будет считать с помощью MathCAD и Excel. Наиболее приемлемый для дальнейшего чтения файл создаётся конструкцией, изображённой на рисунке

In[13]:=m= 1, 2, 3 , 4.57.98.65, 2.4 8.97.1 Ц

Out[13]= 1,2,3, 4.57.98.65, 2.48.97.1 1

In[14]:=ToString m TableForm 1

Out[14]1 2 3

4.5 7.9 8.65

@ @ 8 D

2.4 8.9 7.1

In[15]:=m1=ToStringLbleFormTableSpao-i-ng, 1

Out[15]1 2 3

4.57.98.65 2.48.97.1

In[16]: m1>>primer Ц

Этот документ создаёт следующий файл primer "1 2 3\n4.5 7.9 8.65\n2.4 8.9 7.1"

Для преобразования подобных файлов нами была написана программа perevod (на языке Turbo Pascal), которая убирает из файла символы “ и \n и разделяет набор чисел на нужное количество строк.

После обработки этой программой файл primer примет вид 1 2 3 4.5 7.9 8.65 2.4 8.9 7.1

В пакете Mathematica существует возможность вызова внешней программы. Для этого служит команда !<имя_программы>. Следовательно, после записи файла с массивом (матрицей) на диск можно выполнить команду !perevod для преобразования выходного файла, созданного программой Mathematica. Теперь содержимое файла primer можно считать в MathCAD функцией READPRN или открыть средствами MS EXCEL.

Е. Р. Алексеев, О. В. Чеснокова, Л. С. Сорокина, А. А. Тарасов ОБ ОПЫТЕ ИСПОЛЬЗОВАНИЯ ПАКЕТА MATHCAD 2000 В ИНЖЕНЕРНЫХ РАСЧЁТАХ

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

i Надоели баннеры? Вы всегда можете отключить рекламу.