Государственный комитет РФ по высшей школе
МГТУ им. .
Кафедра П5-КФ "УТС и Э"
Группа САУ-91
Руководство пользователя по использованию транслятора с языка MatLab на язык “C”.
Студент
Руководитель
Калуга
1999 г.
Содержание.
Содержание.................................................................................................... 2
Задание........................................................................................................... 4
Введение......................................................................................................... 5
MIDEVA............................................................................................................................................................................. 5
MATCOM........................................................................................................................................................................... 6
Visual MATCOM.............................................................................................................................................................. 6
Matrix <LIB>.................................................................................................................................................................... 6
MatriXL.............................................................................................................................................................................. 7
Разработка m-файлов в среде MIDEVA....................................................... 8
Пользовательский интерфейс MIDEVA.............................................................................. 8
Окно интерпретатора................................................................................................................................................. 9
Окно редактирования................................................................................................................................................... 9
Разработка GUI (графического пользовательского интерфейса)................................................................ 10
Окно файлов................................................................................................................................................................... 10
Окно переменных.......................................................................................................................................................... 10
Окно компиляции.......................................................................................................................................................... 11
Окно истории команд................................................................................................................................................. 11
Окно отладчика............................................................................................................................................................ 11
Выполнение программ........................................................................................................ 11
Отладка m-файлов....................................................................................... 13
Установка точек останова...................................................................................................................................... 13
Выполнение до курсора.............................................................................................................................................. 13
Наблюдение за переменными.................................................................................................................................... 13
Выполнение с заходом в функции и без входа...................................................................................................... 14
Анимация выполнения................................................................................................................................................. 14
Компиляция программ................................................................................ 15
Компиляция исполнимях (exe) файлов.................................................................................................................... 15
Компиляция динамических библиотек................................................................................................................... 15
Повышение производительности................................................................ 16
Оптимизация и скалярные переменные................................................................................................................. 16
Предварительное размещение переменных.......................................................................................................... 16
Разделение кода выполняемого в MatLAB и MIDEVA......................................................................................... 17
Пример......................................................................................................... 18
Расспространение созданных приложений................................................ 26
Matrix<LIB>.................................................................................................................................................................. 26
Ago4500.dll.................................................................................................................................................................... 26
OpenGL32.dll, Glu32.dll.............................................................................................................................................. 26
Proxy DLLss.................................................................................................................................................................... 26
Динамические библиотеки компилятора.............................................................................................................. 27
Список использованной литературы.......................................................... 28
Список использованного программного обеспечения.............................. 29
Для заметок.................................................................................................. 30
Задание.
1. Перевести текст документации раздела, связанного с описанием транслятора с языка MatLab на С. Перевод оформить в редакторе включив необходимые формулы и оконные интерфейсы.
2. По согласованию с преподавателем создать несколько демонстрационных примеров.
Введение.
Среда MatLAB является мощным средством для решения широкого круга различных задач. Командный язык MatLAB’а имеет весьма простой синтаксис, и сравнительно прозрачен, позволяет концентрировать свое внимание на поставленной задаче, а не затрачивать массу времени на написание и отладку различных функций. Это привело к тому, что в среде MatLAB уже описано множество различных алгоритмов для решения различных задач.
Но одним из существенных недостатков среды MatLAB является то, что MatLAB – интерпретатор команд, т. е. при выполнении кода написанного на командном языке MatLAB’а каждая команда сначала проверяется на наличие ошибок, расшифровывается, и лиш затем ядро MatLAB выполняет соответствующие действия. Это требует большого количества ресурсов компьютера и приводит к заначительному замедлению при выполнении программы. Одним из способов решения этой проблемы является предварительная компиляция всего кода, создание исполнимого файла.
Рассмотренный в данной работе программнй продукт MIDEVA 4.40 фирмы MathTools позволяет преобразовывать программный код написанный на командном языке MatLAB в код на языке C++. Это открывает широкий круг возможностей для использования программ написанных на языке MatLAB. Так язык С++ является широко распространенным, существуют его реализации практически на всех платформах. Тот факт, что MIDEVA производит не просто компиляцию кода MatLAB и создание исполнимого файла, а трансляцию исходного кода на язык С позволяет использовать полученный код в различных приложениях как в научной сфере так и в деловой области.
В данной работе рассматривается версия продукта предназначенная для использования на платфармах Windows95/98/NT.
Программный продукт фирмы MathTools состоит из нескольких частей. Это MIDEVA, MATCOM, Visual MATCOM, Matrix<LIB>, MatriXL.
MIDEVA.
MIDEVA это интерпритатор m-файлов[1]. Представляет собой компилятор и мощную среду для разработки и запуска m-файлов. MIDEVA позволяет улучшить качество и скорость выполнения m-файлов используя MATCOM технологию.
MIDEVA позволяет использовать возможности MATCOM для компиляции m-файлов и создания программы или финамических библиотек которые можно использовать в Visual Basic/Excel. MIDEVA выполняет оптимизацию полученного кода, и позволяет создавать различные варианты кода, такие как отладочная и финальная версии. Среда разработки MIDEVA включает несколько интегрированных компонентов. Это мульти-файловый редактор, справочная система, отладчик и оптимизатор. MIDEVA – лучшее решения для разработки m-файлов.
Для работы MIDEVA требуется установленный компилятор языка С++. (Visual C++ 5.0, 6.0; Borland[2] C++ 5.0, Borland C++ Builder 1,3,4).
MATCOM.
MATCOM это первый в мире транслятор кода с командного языка MatLAB на язык С++, уменьшающий время вычислений иобъем требуемой памяти. MATCOM позволяет создавать MEX файлы, динамические библиотеки для Excel и Visual Basic, других С++ приложений. Позволяет легко объединять код и алгоритмы m-файлов в проектах созданных на языке С++.
MATCOM имеет поддержку библиотеки С++ матричных вычислений Matrix<LIB>. Которая является динамической библиотекой Windows, и позволяет создавать программымаленького размера.
Visual MATCOM.
Visual MATCOM это применение технологий MATCOM при работе в популярной среде разработки Microsoft® Visual C++ Позволяет просматриввать, редактировать, компилировать, отлаживат m-файлы в Microsoft Developer Studio.
Matrix <LIB>.
Matrix<LIB> научная библиотека, предназначенная для профессиональных инжинеров и ученых. Библиотека C++ обеспечивает матричный тип двойной точности. Тип матриц M<double>, может быть комплексным, реальным, разряженным или n-размерным. Доступно более 500 функций и операторов для работы с матричными типами. Включая базовые операции как + - / * и индексные операции. Функции поддержки линейной алгебры, вычислений с использованием полиномов, обработки сигналов, файловый ввод\вывод и многое другое.
MatriXL.
MatriXL библиотека для Microsoft® Excel содержащая функции для работы с матрицами. Она содержит более 400 функций, расширяя возможности Excel, увеличивая его возможности.
Разработка m-файлов в среде MIDEVA.
MIDEVA представляет собой диалоговую среду, для разработки m-файлов. Данная среда обеспечивает все этапы процесса разработки:
· Создание программы и быстрое макетирование используя окно интерпритатора соединенного с профессиональным редактором кода.
· Отладку программы с использованием визуального отладчика.
· Профилирование кода.
· Разработку GUI[3].
· Легкий доступ к справочной сисетме.
· Компиляцию рабочей программы и создание выполняемого файла или динамической библиотеки.
Пользовательский интерфейс MIDEVA.
Главный компонент пользовательского интерфейса MIDEVA представлен на рисунке 1.

Рисунок 1
Окно интерпретатора.
В данном окне вы можете набирать команды и и получать результат не медленно. Данное окно является аналогом коммандного окна MatLAB. (рис 1.2.)
Прокручивание списка комманд производится по клавишам PageUp/PageDown. Список предыдущих команд доступен с помощью клавиш Up/Down. Так же поддержываются все стандартные возможности (вставка из буфера, копирование, вырезание).
Окно редактирования.
Это окно мульти-файлового редактора, предназначенного для редактирования m-файлов, обеспечивающий подсветку ключевых операторов. Данное окно представлено на рисунке 2. Вы можете создавать новые файлы, открывать существующие.
В меню Edit доступны как стандартные комманды Вырезать, Копировать, Вставить, так и дополнительные Indent или Unindent, позволяющие сместить вправо или в лево выделенный фрагмент кода. Данная возможность предназначена для улучшения читаемости программы. Комманды Comment/Uncomment позволяют преобразовать выделенный фрагмент кода в комментарии и обратно.

Рисунок 2
Разработка GUI (графического пользовательского интерфейса).
Команда View/GUI Designer открывает интуитивно понятную среду разработки графического пользовательского интерфейса. (см рисунок 3) Обеспечивает палитру компонентов, редактор свойств и полностью визуальную работу с компонентами. Помимо стандартных компонентов, доступны ряд дополнительных: переключатель, осцилограф (scope), индикатор процесса (progress bar) и др. Разработанная форма может быть сохранена в m-файл.

Рисунок 3
Окно файлов.
Список m-файлов. Для открытия файла в окне редактора необходимо дважды кликнуть мышью на имени файла. При первом запуске m-файла он автоматически добаляется в список. Для очистки списка можно использовать контекстное меню. (Рисунок 1.3.)
Окно переменных.
Содержит список всех переменных, существующих в данный момент. Двойной клик на имени переменной открывает Visual Matrix Viewer. Позволяющий следить за значениями элементов матрицы. (Рисунок 1.1.)
Окно компиляции.
В данном окне отображаются все сообщения о процессе компиляции, такие как коммандная строка для запуска компилятора, ошибки компиляции. Двойной клик на сообщении об ошибке открывает исходый файл в редакторе и автоматически переходит к тому месту, в котором найдена ошибка. (Рисунок 1.5.)
Окно истории команд.
Отображает список команд которые были набраны в коммандном окне. Двойной клик копирует команду в окно интерпретатора команд. (Рисунок 1.4.)
Окно отладчика.
Панель инструментов предназначенных для отладки программы. Аналог меню Debug.
Выполнение программ.
Команды могут быть запущены различными способами:
· Команды могут быь набраны в окне интерпретатора команд.
Пример:
>a=magic(10);
>plot(a);
Ввод кода данным способом осуществляется когда требуется интерактивный анализ.
· Скрипт или функция могут быть запущены из командной строки.
Пример:
>demo3d
если demo3d – m-файл.
· Нажатие кнопки F5. Этот способ хорош тем, что при последующем нажатии F5 следующей командной строке устанавливаются теже опции. Данный метод особенно полезен для многократного запуска одной и той же строки кода.
· Шелчок правой клавишей в окне редактирования и выбот опции Save and run this file.
Все методы работают только после набота кода, так как MIDEVA компилирует код и только после этого выполняет. Состояние MIDEVA показывается в строке заголовка.
Обычно m-файлы выполняются до их завершения. Но для прерывания выполнения запущенного m-файла используйте меню Debug/Stop или нажмите Shift+F5, или нажмите Ctrl+C в окне интерпретатора команд.
MIDEVA позволяет создавать исполняемый код в двух конфигурация. Это отладочная (Debug) и финальная (Release). Отладочная версия отслеживает значения переменных и нажатие Ctrl+C. Финальная версия не производит этих дпействий, но имеет меньший размер и большую скорость выполнения. Рекомендуется все разработки проводить в режиме отладки, а уже отлаженные версии запускать в Release режиме.
Отладка m-файлов.
MIDEVA обеспечивает режим отладки, позволяя находить ошибки в программах. Отладчик MIDEVA позволяет:
· Останавливать программу в определенной точке, строке исходного файла (breakpoints).
· Проверять переменные с помошью комманды Watch.
· Пошаговое выполнение программы.
· Режимы трасировки с заходом в функции или без захода.
· Просмотр выполнения программы с использованием анимации.
· Просмотр и редактирование исходных файлов.
Установка точек останова.
Точки прерывания (Breakpoints) указывают отладчику места в которых необходимо прерывать выполнение программы. Их можно установить несколькими способами. Если в редакторе открыт исходный файл и курсор находится на требуемой строке, то:
· Выберите пункт меню Debug/Toggle breakpoints.
· Кликните соответствующую кнопку на панели инструментов отладчика.
· Нажмите F9.
· Кликните в редакторе в область слева от требуемой строки.
Точки прерывания можно добавлять до или после запуска программы.
Выполнение до курсора.
Простая альтернатива установке точек прерывания является выполнение программы до текушей позиции. Выполнение до курсора имеет тот же эффект, что и установка точки прерывания на текушую строку. Для выполнения программы до текущей позиции выберите пункт меню Debug/Run to cursor, или нажмите Ctrl-F10 или соответствуюшую кнопку на панели инструментов отладчика.
Наблюдение за переменными.
Когда выполнение программы преостановленно или MIDEVA ожидает вашей комманды, список переменных доступных в данный момент показывается в окне переменных. При двойном клике на переменой открывается Visual Matrix Viewer. Переменные не могут быть изменены из MIDEVA, но можно добавить строку input в программу для изменения переменных.
Также переменные могут быть быстро просмотрены из редактора.
Выполнение с заходом в функции и без входа.
Когда исполнение программы преостановленно, вы можете продолжить выполнение ппрограммы используя команды Debug/Step into и Debug/Step over. Обе команды выполняют одну строку и возвращают управление отладчику.
Step into вызывает функцию и останавливается на первой строке функции.
Step over выполняет функцию, пока она не завершит свою работу и останавливается на строке следующей за вызовом функции.
Анимация выполнения.
Одним из способов набюдения за ходом выполнения программы является режим анимации. Для его включения выберите меню Debug/Animation. Это очень удобное средство для наблюдения за ходом выполнеиия программы без её остановки.
Компиляция программ.
Компиляция исполнимях (exe) файлов.
Для создания исполнимого файла, выберите меню File/Compile to exe. Далле выберите главный m-файл. Это файл может ббть любым, но не функцией. Когда компиляция будет завершена исполнимый файл будет размещен на диске.
Компиляция динамических библиотек.
Создание динамических библиотек поддерживается только в Visual C++.
Для компиляции m-файла и создания динамической библиотеки, выберите пункт меню File/Compile to dll. Далее выыберите имя главного m-файла. Этот файл должен быть функцией. Для компиляции программы, необходимо преобразовать исходный текст в функцию.
После окончания компиляции на диске будут созданы следующие файлы:
Имя файла | Описание |
Имя_библиотеки. dll | Сама библиотека |
Имя_библиотеки. bas | Файл определений для Visual Basic/Excel |
Имя_библиотеки. cls | Файл функции для Visual Basic |
Имя_библиотеки. xl | Файл функции для Excel |
Все функции использованные в m-файле будут доступны из Visual Basic или Excel.
Повышение производительности.
Повышение производительности скомпилинованных программ зависит от типа выполняемых в них операций. Векторные операции обычно медленные и мало оптимизируемы. Управляющие операторы такие как for/while метки и оператор if выполняются занчительно быстрее, в 3 – 10 раз быстрее. Скаляризация переменных может дать еще боьшее ускарение.
Оптимизация и скалярные переменные.
Обычно, все переменные являются матрицами. Если некоторая переменная является скалярной, то исходные директивы позволяют ускорить код обращения к переменной.
Предварительное размещение переменных.
Всегда предварительно создавайте вектор или матрицу полного размера. Для примера, добавм строку:
x=zeros(100,1);
перед следующим фрагментгм кода:
for I=1:100
x(I)=rand*I;
end
Это значительно ускорит код.
В таблице 1. Представленны результаты измерения производительности при использовании Pentium-II-266
Таблица 1.
Размер матриц | N=100 | N=200 |
Умножение | X1.83 | X2.60 |
Инверсия матрицы | X1.11 | X1.12 |
QR factoring | X1.42 | X1.25 |
The MathTools Accelerator is now built into the Standard and
Professional versions of our Windows products as standard feature.
Разделение кода выполняемого в MatLAB и MIDEVA.
Для создания строк кода выполняемых только в среде MIDEVA, необходимо использовать следующий префикс:
%MATCOM% M:directive.
Для примера:
%MATCOM% M:load datfile veloc accel
Для разделения кода выполняемого в среде MatLAB и MIDEVA можно использовать следуюшую конструкцию:
if exist('_MATCOM_')
% MIDEVA/MATCOM-only code
else
% MATLAB-only code
end
Пример.
Пример программы работы с графикой.
function demo3d
subplot(121);
surf(peaks(25));
subplot(122);
pcolor(peaks(25));
colormap copper;
#include "matlib. h"
#pragma hdrstop
#include "demo3d. h"
Mm demo3d() {
begin_scope
#line 1
call_stack_begin;
#line 1
// nargin, nargout entry code
double old_nargin=nargin_val; if (!nargin_set) nargin_val=0.0;
nargin_set=0;
double old_nargout=nargout_val; if (!nargout_set) nargout_val=0.0;
nargout_set=0;
// translated code
#line 3 "c:/work/samples/m-files/demo3d. m"
_ subplot(121.0);
#line 4 "c:/work/samples/m-files/demo3d. m"
_ surf((CL(peaks(25.0))));
#line 5 "c:/work/samples/m-files/demo3d. m"
_ subplot(122.0);
#line 6 "c:/work/samples/m-files/demo3d. m"
_ pcolor((CL(peaks(25.0))));
#line 7 "c:/work/samples/m-files/demo3d. m"
_ colormap(TM("copper"));
call_stack_end;
// nargin, nargout exit code
nargin_val=old_nargin; nargout_val=old_nargout;
// function exit code
return x_M;
end_scope
}
Сеанс работы программы имеет вид рисунок 4.

Рисунок 4
Пример программы использующией оптимизацию скалярных переменных.
function speed
echo on
%
% Sample program for MATCOM.
%
% (c) Copyright MathTools Ltd.
%
% This sample demonstrateds the usage of scalar variables to drastically
% improve the speed of prime numbers calaculations.
%
%#scalar a
v=[];
tic;
for a=1000000:1
v=[v isp(a)];
end
toc
n=sum(v);
function rr=isp(xx)
% isp(x) returns 1 for every element in x which is a prime
% Trial division is used.
%
% To compile: matcom speed. m
%
% (c) Copyright MathTools Ltd.
%
%# scalar i r d x q t
rr=zeros(size(xx));
for i=1:length(xx)
x=xx(i);
r=-1;
if (x/2)==ceil(x/2) & (x>2) | (x<0) | (x~=ceil(x))
r=0;
end
if r~=0
q=ceil(sqrt(x));
for d=3:2:q
t=x/d;
if t==ceil(t)
r=0;
break;
end
end
end
if r~=0
r=1;
end
rr(i)=r;
end
После компиляции получен следующий код:
#include "matlib. h"
#pragma hdrstop
#include "speed. h"
#include "isp. h"
Mm speed() {
begin_scope
dMm(v); dMm(a); dMm(a_speed_v0); dMm(n);
#line 1
call_stack_begin;
#line 1
// nargin, nargout entry code
double old_nargin=nargin_val; if (!nargin_set) nargin_val=0.0;
nargin_set=0;
double old_nargout=nargout_val; if (!nargout_set) nargout_val=0.0;
nargout_set=0;
// translated code
#line 3
_ echo(TM("on"));
mt_print_handler("%\n");
#line 4
//
mt_print_handler("% Sample program for MATCOM.\n");
#line 5
// Sample program for MATCOM.
mt_print_handler("%\n");
#line 6
//
mt_print_handler("% (c) Copyright MathTools Ltd. \n");
#line 7
// (c) Copyright MathTools Ltd.
mt_print_handler("%\n");
#line 8
//
mt_print_handler("% This sample demonstrateds the usage of scalar variables to drastically\n");
#line 9
// This sample demonstrateds the usage of scalar variables to drastically
mt_print_handler("% improve the speed of prime numbers calaculations.\n");
#line 10
// improve the speed of prime numbers calaculations.
mt_print_handler("%\n");
#line 11
//
mt_print_handler("\n");
mt_print_handler("scalar a\n");
#line 13
_ error(TM("'calar' was not found.\n\nIf it is a variable, make sure it is initialized before first use,\nfor example: calar=[];\n\nIf it is a m-file, please copy it to the current directory or add\nits directory to the matlabpath.\n") \
);
mt_print_handler("\n");
mt_print_handler("v=[];\n");
#line 15
_ v = nop_M;
mt_print_handler("tic;\n");
#line 16
_ tic();
mt_print_handler("for a=1000000:1\n v=[v isp(a)];\nend\n");
#line 17
_ a_speed_v0 = colon(1000000.0,1.0,1005000.0); int a_speed_i0;
for (a_speed_i0=0;a_speed_i0<a_speed_v0.cols();a_speed_i0++) {
forelem(a, a_speed_v0,a_speed_i0);
#line 18
_ v = (BR(v),isp(a));
#line 19
}
mt_print_handler("toc\n");
#line 20
_ display(toc());
mt_print_handler("n=sum(v);\n");
#line 21
_ n = sum(v);
mt_print_handler("\n");
mt_print_handler("function rr=isp(xx)\n");
call_stack_end;
// nargin, nargout exit code
nargin_val=old_nargin; nargout_val=old_nargout;
// function exit code
return x_M;
end_scope
}
#include "speed. h"
static Mm isp(Mm xx) {
begin_scope
xx. setname("xx");
dMm(rr); double i_; double r; double d; double x; double q; double t; dMm(i_isp_v0); dMm(d_isp_v1);
#line 23
call_stack_begin;
#line 23
// nargin, nargout entry code
double old_nargin=nargin_val; if (!nargin_set) nargin_val=1.0;
nargin_set=0;
double old_nargout=nargout_val; if (!nargout_set) nargout_val=1.0;
nargout_set=0;
// translated code
#line 24
// isp(x) returns 1 for every element in x which is a prime
#line 25
// Trial division is used.
#line 26
//
#line 27
// To compile: matcom speed. m
#line 28
//
#line 29
// (c) Copyright MathTools Ltd.
#line 30
//
#line 34
_ rr = zeros(size(xx));
#line 36
_ i_isp_v0 = colon(1.0,1.0,length(xx)); int i_isp_i0;
for (i_isp_i0=0;i_isp_i0<i_isp_v0.cols();i_isp_i0++) {
i_ = i_isp_v0.addr()[i_isp_i0];
#line 37
_ x = scalar(xx(i_));
#line 38
_ r = scalar(-1.0);
#line 39
_ if (istrue((x/2.0)==ceil(x/2.0)&&(x>2.0)||(x<0.0)||(x!=ceil(x)))) {
#line 40
_ r = scalar(0.0);
#line 41
}
#line 43
_ if (istrue(r!=0.0)) {
#line 44
_ q = scalar(ceil(msqrt(x)));
#line 45
_ d_isp_v1 = colon(3.0,2.0,q); int d_isp_i1;
for (d_isp_i1=0;d_isp_i1<d_isp_v1.cols();d_isp_i1++) {
d = d_isp_v1.addr()[d_isp_i1];
#line 46
_ t = scalar(x/d);
#line 47
_ if (istrue(t==ceil(t))) {
#line 48
_ r = scalar(0.0);
#line 49
_ break;
#line 50
}
#line 51
}
#line 52
}
#line 54
_ if (istrue(r!=0.0)) {
#line 55
_ r = scalar(1.0);
#line 56
}
#line 58
_ rr(i_) = r;
#line 59
}
call_stack_end;
// nargin, nargout exit code
nargin_val=old_nargin; nargout_val=old_nargout;
// function exit code
xx. setname(NULL);
return rr;
end_scope
}
Расспространение созданных приложений.
При расспространении приложений Windows созданных с помощью MIDEVA требуется помимо созданного исполняемого файла расспространять ряд библиотек.
Matrix<LIB>
Так весть исполнимый код библиотеки Matrix<LIB> находится в динамически подключаемой библиотеке. Которая имеет следующее название в зависиммости от используемого компилятора:
Название компилятора | Имя файла библиотеке |
Borland C++ / Builder | Mdv4500b. dll |
Visual C++ | Mdv4500v. dll |
Ago4500.dll
Даннный файл содержит исполнимый код поддержки графики и графического пользовательского интерфейса и обработки изображений. Эта библиотека всегда необходима для компиляции программы.
OpenGL32.dll, Glu32.dll
Файлы поддержки OpenGL графики. Обычно установленны в WindowsNT и Windows98, но требуются при расспространении приложений в системе Windows95. Для Windows 95 используйте данные файлы из комплекта поставки MIDEVA, не копируйте их из системы WindowsNT.
Proxy DLLss
Эти файлы используются когда создается библиотека или компилируется файл для использования в Visual Basic или Excel.
Компилятор | Имя Proxy библиотеки. |
Всегда | MMatrix. dll |
Visual C++ | mdc4500v. dll |
Borland | mdc4500b. dll |
Динамические библиотеки компилятора.
Компиляторы С++ приложений обычно требуют установки в системе некоторых дополнительных динамических библиотек.
Компилятор | Требуемые динамические библиотеки. |
Borland C++ 5.0 | Не требуется |
Borland C++ Builder 1,3,4 | Не требуется |
Visual C++ 5.0, 6.0 | msvcrt. dll msvcirt. dll |
Visual Basic 5 | msvbvm50.dll |
Visual Basic 6 | msvbvm60.dll |
Список использованной литературы.
1. , , Дмитриева теории автоматического управления, ориентированные на применение ЭВМ. Линейные стационарные и нестационарные модели: Учебник для вузов. –М.: Энергоатомиздат, 1997. – 656с.: ил.
2. , , Трофимова теории автоматического управления. Учебное пособие/ Под ред. . М.: Изд-во МГТУ им. , 1998. – 562с., ил.
3. , Краснощеченко и оптимальное управление. Линейные непрерывные системы. часть I. Учебное пособие для выполнения курсового проекта по курсу "ТАУ".
4. Потёмкин MatLab5 для студентов. – М.: Дислог-мииф, 1998. – 314с.
5. Крейг Арнуш, Borland C++ 5: Пер. С англ. – М.: Восточная Книжная Компания, 1997г. – 720 c.: ил.
Список использованного программного обеспечения.
Microsoft® WindowsB
Microsoft® Office 97 SR-1
Microsoft® Developer Studio 97
Microsoft® Visual C++ 5.00.6349
Microsoft® Internet Explorer 3
MathWorks MatLab 5.2.1.1420
MathTools MIDEVA 4.40
Visual MATCOM 4.40
Для заметок.
[1] Командный файл написанный на языке MatLAB.
[2] Продукты фирма Borland в данный момент распространяются по маркой Inprise.
[3] GUI – Графический пользовательский интерфейс.


