Научная статья на тему 'Проблемы обработки данных в пакете Matlab при решении инженерных задач'

Проблемы обработки данных в пакете Matlab при решении инженерных задач Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Проблемы обработки данных в пакете Matlab при решении инженерных задач»

В ходе второй серии экспериментов получены значения которые в сред-

нем больше чем ^ в 5 раз. Время ^ превышает точное значение интервала между перераспределениями файлов не более чем на величину т.

В статье предложен эффективный метод размещения данных по узлам распределенной САПР с учетом изменения плана размещения со временем. Приведены результаты экспериментального исследования метода.

Е. Р. Алексеев, О. В. Чеснокова, Е.В. Павловская, А. А. Тарасов ПРОБЛЕМЫ ОБРАБОТКИ ДАННЫХ В ПАКЕТЕ MATLAB ПРИ РЕШЕНИИ ИНЖЕНЕРНЫХ ЗАДАЧ

Возможности Matlab весьма обширны. Система применима практически в любой области науки и техники. Важным достоинством системы является возможность ее интеграции с различными пакетами.

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

Установить связь между Word и Matlab можно несколькими способами. Если пользователь находится в среде Matlab, то ему достаточно в строчном редакторе набрать Notebook -setup, после запроса указать версию Word, а затем пути к файлам winword.exe и normal.dot. Доказательством того, что связь установлена, служит появление в главном меню Word опции Notebook, а в меню File-команды New M-File.

Команда New M-File используется для создания новой М-книги, правила ввода текста в которой полностью совпадают с правилами Word.

Опция Notebook, будучи активной, порождает меню с обширным списком команд [1]. Остановимся подробно лишь на некоторых из них. Выполнение команды Notebook/Define input cell приводит к созданию ячейки ввода. В эту ячейку вводится команда Matlab. Выполнение команды Notebook/Evaluate cell (Ctrl+Enter) приводит к появлению ячейки вывода, содержащей результаты вычислений. Ниже приведен пример символьного вычисления неопределенного интеграла и найдено значение определенного интеграла. syms x ; int(1/cos(x),x) ans =log(sec(x)+tan(x)) int(1/x,0.2,1) ans =log(5)

Важно отметить, что в ячейках вывода может отображаться любая информация - числа, векторы, матрицы, рисунки и т.д.

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

'...\matlab\toolbox\exlink\excllink.xla'. В результате в стандартном окне Excel появятся новые кнопки - putmatrix, getmatrix и evalstring (см. рис.1), обеспечивающие двусторонний обмен данными, просмотр, редактирование и обработку данных из среды Matlab.

Microsoft Excel - Книга!

||*У Файл Правка Вид В ставка Формат Сервис Данные Окно ?

О L& Щ] ¿§9 ГЛ V Jt Чй - - - <&, * Г u iH 2

і Arial Cyr - 1Ü Ч ЦІ Ж К Ч ш ш ш m э % , і

putmatrix 1 getmatrix | е valst rin g Полужирный

A\ \ B С D E F G

1 \

2

3

4

5

В

7

новые кнопки

Рис. 1

Для передачи данных из Excel в Matlab необходимо выделить область данных в Excel, обратиться к кнопке putmatrix и в появившемся диалоговом окне указать имя, под которым данная матрица или массив будут храниться в Matlab. При осуществлении обратной связи необходимо установить курсор в свободную ячейку Excel и обратиться к кнопке getmatrix. В диалоговом окне необходимо ввести имя, под которым данные хранятся в Matlab. Кнопка evalstring вызывает диалоговое окно, в которое можно ввести и выполнить любую команду Matlab, не покидая среды Excel. Надо отметить, что при осуществлении подобных связей приложение Matlab должно быть открыто.

Итак, в связи с тем, что интерфейс передачи данных между Excel и Matlab достаточно прост и удобен, можно считать решенной задачу хранения больших массивов информации (исходных данных). Понятно, что удобнее хранить большие массивы в рабочих листах MS Excel.

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

Пусть известна некоторая экспериментальная зависимость тока холостого хода I0 от напряжения намагничивающего контура U0. Необходимо построить интерполирующую функцию по заданным экспериментальным точкам. Данные хранятся в Excel в виде таблицы.

U0 99.9 100 150 200 250 300 351 399 444 496 550 600 650 700

I0 3.14 4.69 6.17 7.6 8.98 10.36 11.68 12.97 14.61 16.59 18.83 22.25 25.13 29.63

Передадим данные из Excel в Matlab, обратившись к кнопке putmatrix, и присвоим массивам имена U0 и I0. Затем при помощи evalstring зададим команду plot(UO,I0,’o’). На экране появится графическая область Matlab с изображением

экспериментальных точек. Хотим обратить внимание читателя на то, что в предыдущей, пятой версии Matlab, в графической области отсутствовали пункты меню Insert и Tools.

Рассмотрим более подробно пункт меню Tools\Basic Fiting. При обращении к этому пункту меню появится окно, в котором можно устанавливать или удалять некоторые опции. Например, после установки в пункте Check to display fits on figure и опции spline interpolant (рис.2) к графику экспериментальных точек добавится интерполяционная кривая. При подборе аппроксимирующей линии существует возможность вывода уравнения этой линии, установление точности выводимых коэффициентов и расчет среднеквадратичного отклонения (рис. 3).

Рис. 2

} Basic Fitting 1 ИІмГ Еї

Select data: |data 1

W Center Plot fits___

Checkto display fits onfigur

I- spline interpolant I hermite interpolant I linear

W quadratic T7 cubic

I 4th degree polynomial

I 5th degree polynomial

I 6th degree polynomial

W Show equations Significant digits: |"4 W Plot residuals [Bar plot -w |

| Subplot ---------3

F7 Show norm of residuals

Help I Close I

le Edit View insert Tools Window Help - Ini x

□ Or Ш m | * a / | j» js o

30 20

y = 1.544*M2 + 7.BB4*x + 12.33 y = 1,163~x3 + 1,3D4*x2 + 5.809*x + 12.4B О data 1 quadratic cubic

10

0 -10

100 200 300 400 500 residuals 600 700

1 Quadratic: norm of residuals = 2.9125 Cubic: norm of residuals = 1.229B

0 -1

100 200 300 400 500 BOO 700

Рис. 3

Из всего выше сказанного можно сделать вывод, что в шестой версии Matlab появились новые возможности в области передачи и обработки данных.

ЛИТЕРАТУРА

1. Дьяконов В.П., Абраменкова И.В. Matlab 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

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