Смекни!
smekni.com

МО иПО РФ


НГТУ


Реферат поинформатикена тему «ПакетMathCAD»


факультет: АВТ

группа: А - 514

студент: КоваленкоС.А.

преподаватель:Мамонова В.Г.


Новосибирск- 1997

Содержание:

  1. Введение________________________________________________3


  2. Возможностисистемы____________________________________4


2.2Документ1______________________________________________5


2.3 Графическиевозможности_______________________________6


  1. Документ2______________________________________________7


  1. Документ3______________________________________________8


  1. Документ4______________________________________________9


  1. Документ5______________________________________________10


  2. Работасистемы сфайлами_______________________________11


  3. Общениес внешнимиустройствами_______________________11


  1. СистемаMathCADстановитсяболее гибкой


  1. СистемаMathCADверсии3.0______________________________11


  2. MathCADPLUS6.0


  3. Решениеалгебраическихсистем_________________________12


  4. ВеликолепнаясемёркаMathCAD_________________________15


  5. Сортировка___________________________________________16


  6. Линейнаяаппроксимация______________________________16


  7. Дифференциальныеуравнения_________________________17


  8. Программирование____________________________________17


4. MathCADили программированиена языках высокогоуровня _18


1. Введение


Математическиеи научно - техническиерасчеты являютсяважной сферойпримененияперсональныхкомпьютеров. Часто онивыполняютсяс помощью программ, написанныхна языке высокогоуровня, напримерБейсике илиПаскале. Сегодняэту работунередко выполняетобычный пользовательПК. Для этогоон вынужденизучать языкипрограммированияи многочисленные,подчас весьматонкие капризныечисленныеметоды математическихрасчетов. Нередкопри этом из подруки способногофизика, химикаили инженеравыходят далёкиеот совершенствапрограммы.

Это не вполненормальноеположение можетизменить клучшему применениеинтегрированныхпрограммныхсистем автоматизацииматематическихрасчетов (Eureka,MathCAD, MatLab и др.). Здесьрассматриваютсявозможностии эволюцияодной из такихсистем - MathCAD.

Фирма MathSoftInc.(США) выпустилапервую версиюсистемы в 1986 г.Главная отличительнаяособенностьсистемы MathCADзаключаетсяв её входномязыке, которыймаксимальноприближён кестественномуматематическомуязыку, используемомукак в трактатахпо математике,так и вообщев научной литературе.В ходе работыс системойпользовательготовит такназываемыедокументы. Ониодновременновключают описанияалгоритмоввычислений,программыуправляющиеработой систем,и результатвычислений.По внешнемувиду текстымало напоминаютобычной программы.


2. Возможностисистемы


MathCADобъединяетв себе простойтекстовыйредактор,математическийинтерпретатори графическийпроцессор.Система ориентированана IBM- совместимыекомпьютеры.Упомянутыевыше документысодержат текстовые,формульныеи графическиеблоки. На экранедисплея онизанимаютпрямоугольныеобласти, границыкоторых обычноне видны (нопри введениив блок курсорапротиволежащиеуглы прямоугольныхобластей отмечаютсяпрямоугольниками).Блоки выполняютсяслева направои сверху вниз.

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

Из режимовработы необходимоособо отметитьрежимыauto и manual.Режим autoобеспечиваетавтоматическиевычислениясразу послезагрузки документапо мере егопрокрутки(скроллинга)на экране дисплея.В этом режимескроллингощутимо замедлен,особенно прииспользованиисистемы на ПКкласса IBMPC XT без математическогосопроцессора.Режим manual(ручной) позволяетосуществлятьбыстрый скроллингбез выполнениядокумента. Дляпроведениявычислений от начала документаи до конца видимойна экране дисплеяего части нужнонажать клавишу.

Текстовые блокиявляются неболее чемкомментариями.Их назначение- пояснить сухоеи лаконичноематематическоеописание,представленноена входномязыке системы.Текстовые блокимогут бытьполноформатными(на всю длинустроки) и в видепрямоугольниковограниченныхразмеров. Есливвести знак «кавычки», тона экране дисплеяпоявится паракавычек, междукоторыми вводитьи редактироватьтекст в обычномпорядке.

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

Математическийинтерпретаторсистемы - наиболееинтереснаяеё часть. Математическиеформулы, подлежащиеинтерпретации,записываютсяв общепринятомвиде. Например,вычислениеквадратногокорня из двухв системе MathCADзадаётся какы2 =, ане в виде PRINTSQR (2) , как этоделается, скажем,на Бейсике. Дляввода формулиспользуютсяшаблоны, вводимыеопределённымикомбинациямиклавиш. Имеетсявозможностьизмененияформата представлениячисел, напримерчисла знаковпосле разделительнойточки, погрешностивычисленийи обозначениямнимой единицы(i на jи наоборот) приоперациях скомплекснымичислами.

Чтобы вывестина экран дисплеяграфическийблок, необходимоустановитькурсор на местолевого верхнегобудущего графикаи ввести знак@.На экране дисплеяпоявитсяпрямоугольник- шаблон будущегографика. Начинаяс версии 2.0, масштабможно и не указывать- он вычисляетсяавтоматически.

Возможностисистемы поясняютследующиеконкретныепримеры.



Название операции Заданиеоперации Численныйпример

2

Возведениев степень XЧY 3 = 9


Вычислениефакториала X! 4! = 24


Вычислениеквадратногокорня \X Ц9= 3


Вычислениеабсолютногозначения ЅX Ѕ-5Ѕ= 5


Сложение X+Y 2 + 3 = 5


Умножение X*Y 2Ч3= 6


12

Деление X/Y `3 =4


Присваиваниезначений переменной X:Y X : = 8


Вывод значенияпеременной X= X = 8


Задание циклическойпеременной i: = N1..N2 i : = 1,...,5


Суммированиечленов ряда i\ X еX= 2i

i i

3

Перемножениечленов ряда i# X ХX = 3.84Ч10

i i


1

Вычислениеопределённогоинтеграла x&f(x) у Ц2xdx= 0.93

х

0


Задание функциипользователя f(X): ... f(x): = sin x


Инициализацияпеременной х :... x : = 1, f (x) = 0.841


df(x) = 0.54

Вычислениепроизводной x? f (x) `dx


Задание и проверканеравенства X> Y 5 > 4 = 1, 4 > 5 = 0


Вычислениеспециальныхфункций Jn(x) = Jn(1,.5) = 0. 242


Бесселя и интегралавероятности J1(x) = J1(.5) = 0.242


erf(x)= erf(1) = 0.843


Документ 1.Примеры выполненияматематическихопераций .

Документ 1иллюстрируетзадание и исполнениев системеMathCAD ряда математическихдействий. Срединих вычислениеалгебраических,тригонометрическихи гиперболическихфункций, сумми произведенийрядов, определённогоинтеграла ипроизводной.

В MathCAD предусмотренысредства длярешения нелинейныхуравнений, неимеющих аналитическихрешений. Так, функция root(f(x,y,z,),x) ищет значениепеременнойx,при которомf(x,y,z) = 0.Более сложныевычисления(решение системнелинейныхуравнений,минимизацияфункций несколькихпеременныхи др.) обеспечиваютсяорганизациейвычислительногоблока, открываемогословом Given.

Документ 2 показываетрешение актуальнойдля садоводаили любителябаньки задачи:как, сгибаяжелезный лист,получить ящикзаданногообъёма. Оказывается,есть три решения.Ящик может бытьнеглубоким,но с дном большойплощади илиглубоким, нос дном малойплощади. Третьерешение физическинереально. Вовторой частидокументапоказано решениезадачи о конструированииящика максимальногообъёма, ещёболее актуальнойпри нашем дефицитестроительныхматериалов.

Специалистовв электротехникеи радиотехникенавернякапривлечётспособностьсистемы MathCADвыполнять всепредусмотренныев ней вычислениякак с действительными,так и с комплекснымичислами. В документе3 приведеныпримеры операцийс комплекснымичислами, начинаяот простых икончая сложными.К последнимотносится вычислениекомплексногокруговогоинтеграла, входе котороговыполняетсячисленноеинтегрированиеи дифференцированиес комплекснымиаргументами.

Начиная с версии2.0 в MathCADвведён функциональнополный наборвекторных иматричныхопераций. Этосущественнооблегчаетрешение задачлинейной алгебры.В качествепримера в документе3 даётся решениесистемы линейныхуравнений скомплекснымикоэффициентами,в ходе которогопроизводитсяобращениекомплекснойматрицы. К такимуравнениямприводит анализэлектрическихи электронныхцепей на переменномтоке.

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

Документ 4демонстрируетзадание в видевекторов напряженийи токов N- образной вольт- ампернойхарактеристикитуннельногодиода. Затемпроводитьсяинтерполяция-экстраполяцияэтой характеристикиописаннымив документеспособами .Можно заметить,что сплайн-интерполяцияв данном случаепредпочтительнеелинейной .

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

Графическиевозможностисистемы.

Мы уже отмечалиграфическиевозможностисистемы. MathCADпозволяетстроить самыеразнообразныеграфики: в декартовойи в полярнойсистеме координат,с масштабнойсеткой и безнеё, с линейными логарифмическиммасштабом, сотметкой линийпрямоугольниками,крестами, ромбамии т.д. Заданиевида и размераграфика осуществляетсявводом соответствующегоформата. Длязадания форматаможно ввестивнутрь шаблонаграфика курсори нажать клавишу.Вверхней строкепоявятся данныео формате заданногографика, например:

logs= 0,0 subdivs = 1,1 size = 5,15 type = 1

Еслипараметры logs- нули, графикстроится слинейным масштабом,иначе- с логарифмическим(вэтом случаепараметрыуказывают числоделений шкалыв пределахдекады). Параметрыsubdivsзадают числоделений шкалы,а параметрыsize - размеры графика,выраженныев знакоместах.Во всех этихслучаях первыйпараметр относитсяк оси Yграфика, второй- к оси Х. Параметрtype описываетуказание о типеграфикав виде малойили большойлатинскойбуквы. Например,указание Lзадаёт сплошнойграфик, d«строит»точки в узлахи т.д. Возможнакомбинациятаких указаний.


Конструированиежелезного ящиказаданногообъёма


VO : = 7.5 Заданныйобъём ящика


W : = 4 Шириналиста


L : = 8 Длиналиста


X : = 0,0.2 ..5 Расстояниеот линии

отгибалиста


V(X) : = (L -2X)Ч(W- 2X)ЧX Объёмящика


F(X) : = V(X)-VO Основноеуравнение


Графическоерешение задачи


60

F(X),0




20


0 X 5

Решение задачичисленнымметодом


Инициализация Решение Комментарий


X : = 0 root(V(X)- VO, X) = 0.297 Плоскийящик


X : = 1 root(V(X) - VO, X) = 1.5 Глубокийящик


X : = 4 root(V(X)- VO, X) = 4.203 Решениефизически

нереально (X > W/2)


Конструированиежелезного ящикамаксимальногообъёма


X : = 1 Инициализация

Given Началоблока решения

V(X) : = (L -2X)Ч(W- 2X)ЧX Основноеуравнение

V(X) »100 Объём,заведомо превышающий

требуемый

X M : =minerr ( X ) Поископтимальногозначения Х

X M= 0.848 Найденноеоптимальноезначение Х

V(X M ) =12.317 Максимальновозможный объёмящика


Документ 2. Задачао конструированиежелезного ящиказаданного имаксимального

объёма




Задание мнимойединицы


i: = Ц-1


Арифметическиеоперации


Z1: = 2 + 3i Z2 : = 4 + 5i


Z : =Z1 + Z2 Z = 6 + 8i


Re ( Z) = 6 Im ( Z ) = 8


sin (Z1 ) = 9.154 - 4. 169i


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


х : = 0 + 3i ( Инициализацияпервого корня)


2

root(x+ 2x +15, x)=- 1 + 3.742i ( Первыйкорень )


x : = 0 - 3i (Инициализациявторого корня)


2

root(x+ 2x +15, x)=- 1 + 3.742i ( Второйкорень )


Решение системлинейных уравненийс комплекснымикоэффициентами


й10 + 200i 0 - 200i щ й5+ 0iщ

А : =к ъ B : = к ъ

л0- 200i 0 + 170iы л0+ 0iы


-1

X : = A B (Решениес помощью матричныхоператоров)


й0.037 + 0.131iщ

Х : =к ъ (Векторрешения)

л0.044+ 0.154i ы


Вычислениекомплексногокруговогоинтеграла

1

f(x) : = ѕ z(t) : = cos(t) + sin(t)

x

-4

te : = 6.2832 TOL : = 10 (Погрешность)

te

у йd щ

фf(z(t))кѕz(t)ъ dt = 6.283

  • лdt ы

0

Документ 3.Примеры операцийс комплекснымичислами.


Задание ВАХтуннельногодиода


0 0

.2 50 (Векторыисходных данных,

.4 20 содержащиекоординаты

U: = .6 I : = 3 семиузловых точекВАХ )

.8 4

1.0 14

1.2 55


Линейная интерполяцияВАХ


linterp(U, I,0.15 ) = 37.5 (ПримерыинтерполяцииВАХ)

linterp(U , I, 0.5) = 11.5

J(V) : =linterp(U, I, V) (Заданиефункции J(V)ВАХ )

V : = -0.05, - 0.025 .. 1.2


40 На графикеВАХ при линейной

интерполяцииотчётливо видны

отрезкипрямых, и криваяВ АХ

J(V),0 неестественно

-40

-0.05 V 1.2


Интерполяциякубическимисплайнами


IS : =cspline(U ,I) (Векторывторых производных)


interp (IS, U,I, 0.15) = 49.493 (Примерысплайн - интерполяции)


interp (IS, U,I, 0.5) = 8.191


J(V) : =interp (IS, U, I, V ) (Заданиефункции J(V)ВАХ)


V : = -0.05, - 0.025 .. 1.2


40 КриваяВАХ при сплайн-

интерполяцииотличается

плавностьюи похожа на

J(V),0 реальнуюкривую ВАХ

-40

-0.05 V 1.2


Документ4. Линейная исплайн - интерполяцияN -образнойвольтампернойхарактеристики(ВАХ) туннельногодиода .


Генерация200 случайныхчисел с равномернымраспределением

i : = 1..200 x := rnd ( 10 )

i

Графическоепредставлениеслучайных чисел


10

х График наглядно показывает

i равномерностьраспределения

случайныхчисел


0

1 i 200


Вычислениеосновныхстатистическихпараметровмассива х


mean(x) = 4.619 var(x)= 8.869


max (x) = 9.95 min(x) = 0


stdev (x) = 2.978


Подготовкаданных к построениюгистограммы


N : = 10 j: = 0..N k : = 0..N - 1

10

intervals : =1 + j ѕ P : = hist (intervals, x )

j N


Гистограммараспределениячисел в массивех


30



P

k

0

0 intervals 10

k


Документ 5.Генерацияслучайных чисели характеристикиих распределения.

Графики можноперемещатьв любое местодокумента,указанноеположениемкурсора, онимогут иметьлюбые размеры.На одном графикеможно строитьнесколькокривых; дляэтого в форматепосле словаtype нужноперечислитьпараметрыкривых, разделяяих запятыми.

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


Работас файлами


Реализовани импорт файлов,содержащихсложные графическиепостроенияиз других систем,таких, как AutoCADиTurboCAD. Для этогос помощью специальнойпрограммыmostrans,входящей всистему, нужнопреобразоватьимпортируемыйфайл с расширениемmcd.Такой файлпосле загрузкикомандой Load вызываетпостроениеграфика, верхнийлевый уголкоторого задаётсяположениемкурсора.


Общениес внешнимиустройствами


Система MathCADобладает обширнымивозможностямидля общенияс внешнимиустройствами.Помимо записии считываниядокументовпредусмотрена запись и считываниефайлов , хранящихразличныеданные, - вплотьдо векторови матриц скомплекснымикоэффициентами.Это позволяетиспользоватьсистему дляобработкиданных, поступающихот внешнихустройств.Поддерживаютсявсе основныетипы дисплеев:монохромныйHercules, CGA,EGA, VGA и др. Последниеверсии системы(начиная с 2.50 ) поддерживаютработу почтис 40 типами принтерови плоттеров,включая 9 и 24 -игольчатые принтеры сдвухцветнойи многоцветнойпечатью и лазерныепринтеры. Автоматическиобеспечиваетсяработа с сопроцессорамиматематическихопераций.


СистемаMathCADстановитсяболее гибкой


СистемаMathCADверсии 3.0

В систему MathCADверсии 3.0 (фирмаMathsoft ),предназначеннуюдля выполнениянаучно - техническихвычислений,введён рядновых одна изкоторых позволяетработать всреде Windows.По - видимому,их появлениеобрадует всехте6х, кто имеетдело с обработкойчисел. СистемаMathCAD- это лёгкое восвоении иодновременномощное средстводля выполненияисследований.С точки зренияфункций, которыеона выполняет,MathCAD можно сравнитьс рабочим блокнотоминженера илиучёного. Насвоих листках- кадрах экрана- она позволяеткомбинироватьуравнения,заметки и графики.Работая надзадачей , обычноиспользуется«винегрет»из записей налистках бумагии распечаток,полученныхс помощью электронныхтаблиц. Продираясьчерез вычисленияс помощью системыMathCAD, не нужноприбегать ник каким другимсредствам.Чтобы пользоватьсясистемой, вамне нужно держатьв уме множествоспециальныхобозначений,как это требуетсяв случае электронныхтаблиц. Нравитсяи то, что можноуравнения втом виде, в какомони обычноизображаютсяв книгах и наклассных досках.

В эту версиюсистемы введенысимвольныевычисления,без которыхне обходитсяни один серьёзныйматематическийпакет. Символьныйпроцессорбазируетсяна пакете Mappleфирмы WaterlooMapple Software.

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

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

Имеются, однако,два момента,которые навернякане понравятсяеё пользователям.Во - первых, прииспользовании35 - см экрана,приходитсянапрягатьглаза, чтобыразглядетьочень маленькиецветные пиктограммы.И во - вторых,качество изображенияграфиков оставляетжелать лучшего.


MathCADPLUS6.0


Решениеалгебраическихсистем

Лучше одинраз увидеть[схемузадачи],чемсто раз услышать[еёусловие]- такое расширениепословицы можноотнести ко всемприкладнымпрограммам,работающимпод управлениемоперационнойсистемы Windows,которую не зряназывают графическойоболочкой.Пакет MathCADв этом смысле- не исключение.Работая в средеWindows,можно с помощьюграфическогоредактораPaintBrush(или какого- то ) другогонарисоватьсхему задачи,а потом черезБуфер ОбменовClipBoardперенестирисунок в документMathCAD.Если теперьв среде MathCADподвести крисунку курсормыши и два разащелкнуть поеё левой кнопке,то обрамлениерисунка сразуизменится -рисунок перенесётсяв среду PaintBrush,где его можнодоработать,а потом опятьвернуть в MathCAD.

Словесноеописание задачиможно ввестив MathCAD- документ ремарками(комментариями). Пакет MathCADоборудовантекстовымпроцессором,позволяющимоформить, например,научную статью,не прибегаяк специализированнымсредствам. Сдругой стороны,Буфер ОбменовClipBoardпоможет перенестифрагментыMathCAD- документа вWord -документи там дооформитьих. В шестойверсии - MathCADв меню FILE(Файл) появилсяпункт ExportWorksheet (Экспорт),существеннооблегчающийэту работу.

Решение любойзадачи в любойпрограммнойсреде, как правило,начинаетсяс ввода исходныхданных. Работаяс языком BASIK(или с каким -то другим ), вводяпеременныеи задавая имопределённыйтип, программистзаботится нео физике решаемойзадачи, а о... памятимашины. Типчисловой переменнойс точки зренияпрограммиста- прикладника- это атавизмтех времён,когда памятьмашины былаодним из лимитирующихфакторов прирешении задачи.Пакет MathCADв этом смыслерасточителен- он присваиваетвсем числовымпеременнымдвойную точностьс 15 знаками вмантиссе. Этипеременныепредстают передглазами пользователялибо в целочисленном(17, например ), либов вещественном(3.14), либо в комплексномвиде. Но череззнак «: =» в средеMathCADможно присвоитьпеременнойне только конкретнуювеличину (20, 1,10,30 - математиказадачи), но иразмерность(ньютон, метр,угловой градус- физика задачи). Для присваиваниявеличине размерностиза ней ставитсязнак «помножить»и вводитсяназваниесоответствующейразмерности.А можно поступитьпо другому -нажать на панелиинструментовна кнопку сизображениеммерной кружки.После этогона дисплеепоявится окносо спискамифизическихвеличин (длина,время, скоростьи т.д.) с соответствующимим размерностям(метр, секунда,метр в секундуи т.д.),одну изкоторых можновставить вMathCAD -документ.

MathCADне называлсябы математическимпакетом, еслибы он не могрешать системыалгебраическихуравнений.КонструкцияGiven ... Find (Дано ... Найти)используетрасчётнуюметодику, основаннуюна поиске корнявблизи точкиначальногоприближения,заданнойпользователем.

Можно написатьтребуемуюсистему уравнений,зажав её междуключевым словомGivenи функциейFind.Функция Findвозвращаетзначения переменных,превращающихвышеперечисленные(до слова Given) уравненияв тождества.Если уравненийболее одного,то возвращаемыезначения размещаютсяв векторе - вгруппе переменных,«зажатых вкулак», но этот«кулак», какмы уже отмечали,легко разжать,выводя на дисплейнайденныезначения с«первородной»размерностьюмассы (kg),длины (m)и времени(sec):пакет MathCAD «разжимает»и сам вектор,м составныеразмерности,приписываяк числам комбинацииосновных физическихединиц. Но нетолько этимхороша размерностьв задачах. Главноето , что онаавтоматическипозволяетотслеживать«физические»ошибки. Если,к примеру,пользовательсложит секундыс метрами, тоMathCAD«заругается»и выдаст протестующеесообщениеincompatibleunits (несовместимыеединицы).

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

Сравнивая типпеременнойс размерностьюфизическойвеличины, мытем самым провелианалогию междупакетом MathCADи языком BASIK.Продолжим её.Повторяем :знак «: =» в средеMathCADсоответствуетоператорамInput иLet наязыке BASIK,а знак «=» - операторуPrint.В среде MathCADслева от знака«:=» пользовательможет написатьпеременную( простую, синдексом, матрицу,вектор), а справа- выражение спеременнымии функциями, определённымивыше и левееили встроеннымив пакет MathCAD.Слева от знака«=» разрешенописать переменнуюили выражение,правая же часть - это область,всецело принадлежащаясреде MathCAD,куда выводятся рассчитанныезначения.1Это свойстводало пакетуMathCADвторое название- суперкалькулятор: пользовательнабрал сложнейшуюформулу, нажална клавишу«равно» - и ответготов. А вотжирного знака«равно», разделяющеголевую и правуючасти MathCAD- выражений, наязыке BASIK,к сожалению,нет а почему!?

В языках QBASIK,Quick BASIK и VisualBASIK от фирмыMicrosoft естьконструкции,обладающиесвойством,которое с некоторойдолей условностиможно назватьполиморфизмом.Одно и то жеключевое словоменяет свойсмысл в различныхпрограммныхсюжетах. Так,упоминавшийсязнак «=» - этои символ в оператореприсвоения( где Letдавно ужене пишут ), и символв булевом выражении.Другой пример- ключевые словаMid$ иTime$, которыесогласно документациипо языку отмечаюти встроеннуюфункцию, и операторязыка:


A$ =Mid$(ІCOMPUTERІ,3, 3) ўЗдесьMid$ - функция

Mid$(A$,2,1) =І$$$ІўЗдесь Mid$- оператор

StartTime$ =Time$ўЗдесьTime$ - функция

Time$ =І12:30ІўЗдесьTime$ - оператор


Когда ключевоеслово Mid$стоит в правойчасти оператораприсвоения,оно означаетвстроеннуюфункцию. Переносже Mid$в левую частьпревращаетего в оператор.

Второй примерне совсем правомерен: Time$правильнееназвать нефункцией и неоператором,а системнойпеременной.Системныепеременныеесть и в средеMathCAD.

Пакету MathCADне грех перенятьиз языка BASICнекоторыеполезные вещи.Ему в частности,очень не хватаетцикла Do...Loop,в тело котороговставляетсяусловие прерыванияIf...Then ExitDo. В среде MathCADнельзя, например,в автоматическомрежиме реализовыватьметод последовательныхприближений.Без цикла этотметод допустимтолько в полуавтоматическомрежиме: пользовательзадаёт первоеприближениеискомой переменной,а затем цепочкойформул, гдефигурируетданная переменная,получает еёновое значение.Расчёт повторяетсяв цикле с ручнымпереносом дотех пор, покановая паразначений неудовлетворитпользователя.Можно поступитьещё проще - непереноситьновое значениепеременнойв головку блокавыражений, апродублироватьблок нужноечисло раз. Еслив таком алгоритмесходимостинет, то его всёравно используют,называя приэтом методомнаучного тыка.Именно емуадресованполуавтоматическийцикл.

Кроме того,нужно помнить,что более - менее сложная системанелинейныхуравненийокажется непо зубам нетолько пакетуMathCAD,но и другиммощным пакетам- Mathemateca,Maple, Gauss и др. MathCADв такой ситуациивыдаст сообщениеDid notfind solution (Решениене найдено),заставляяпользователяпереходитьк полуавтоматическомурежиму - менятьзначения начальногоприближенияи (или) величинуточности TOL(TOLerance- точность,погрешность).Функция Findрешает системутак, чтобы левыеи правые частивходящих в неёуравненийотличалисьна величину,не превышающуюзначения TOL.Это ещё однапредопределённая(системная)переменнаясредыMathCAD, хранящаяпо умолчаниюзначение 0.001,которое можноизменить, записавв MathCAD- документевыражение TOL: = 0.00000001, например.Но и это частоне помогает.Только пристрого определённыхначальныхусловиях пакетMathCADнаходит правильноерешение. Шагвлево, шаг вправо- расстрел!Малейший отходот начальныхусловий - и изслова Find«вырываетсяпламя»: красноесообщение Didnot find solution в тойже краснойрамке. Но этаже задача снеограниченнымдиапазономисходных данныхпрекраснорешаетсяпоследовательнымиприближениямис поиском вцикле корняодного - единственногоуравнения.Отход от лобовойатаки (от использованияблока Given...Find)возможен лишьв том случае,если системауравнений неабстрактная,какие обычноприводятсяв задачникахпо математике,а реальная,отображающаяконкретную(физическую,химическую,биологическуюи т.д.) задачу.Кроме тогоприкладник(физик, химик,биолог и т.д.),решая задачуможет сделатьразумные допущения,линеаризирующие,например, некоторыевыражения илиуменьшающиеих число. Другоеважное преимуществометода последовательныхприближенийсостоит в том,прикладник,зная физиказадачи, можетменять точностьрасчётов приобработкевыражений,входящих всистему. В блокеGiven...Find,как было ужеотмечено, этоне допустимо.В нём можнолишь смягчитьэту проблемус другого конца- ввести в выражениябалластные(нормирующие) коэффициенты,уравнивающиеих по отношениюдруг к другуи позволяющиеим решатьсяс одной точностью.А это опять жепотеря физикив угоду математики.Но тем не менеевсе перечисленныеухищрения частоостаются тщетнымииз - за того, чтосистема просто... не имеет решения,да и вся задачаориентированнане на поисккорней, а наминимизациюнекоторыхвеличин. В этомслучае функцияFindзаменяетсяна функциюMinerr(MINimalERRor).С помощьюблока Given...Minnerможно решатьширокий классоптимизационныхзадач.

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

Матрица и векторпакета MathCADимеют «родственников»на языке BASIC- двумерныйи одномерныймассивы. Массивже - это объединениесугубо однотипныхвеличин. Разнотипныепеременныеобъединяютсяв записи. Чтобы примиритьфизику с математикой,достаточноразрешить встолбцах матрицыпомещать величиныс разнороднымиединицамиизмерений,считая матрицуне только двухмерныммассивом простыхпеременных,но и одномерныммассивом векторов.В записи (в векторе)могут, конечнохраниться иоднотипныепеременные- переменныес одной размерностьюили вообщелишенные её.Аналог одномерногомассива в MathCAD- это матрицас одним столбцом.Но такая «горизонтальная»матрица невыражаетсячерез переменнуюс индексом.Переменнаяс индексом -это нормальный,«вертикальный»,вектор. Еслидопустить, чтоматрица - собрание(множество)величин с различнойразмерностью,то тогда придётсявсе матричныеоператоры ифункции разделитьна группы поотношению кединицам измерений.Так функции min (поискминимальногоэлемента вмассиве ) и max(поиск максимальногоэлемента вмассиве ) немогут допуститьнеодинаковыхразмерностейв элементахматрицы - аргумента.Оператор жеопределениядетерминантадолжен преобразовыватьматрицу какмассив векторов.Величины встроках здесьдолжны бытьодной размерности.

С точки зренияматематика(несмотря наотсутствиеразмерности,что ведёт засобой смысловуюпотерю физикизадачи) решениев среде MathCADсистемы линейныхалгебраическихуравнений черезматрицы болееоптимально,чем через блокGiven...Find:отпадаетнеобходимостьв начальномприближении(у линейнойсистемы неболее одногокорня - вектора).Кроме того,матричноерешение задачи- точнее.

Есть и другиепричины покоторым приходитсяотказыватьсяот размерностей.Международнаясистема физическихвеличин ( СИ )базируетсяна семи основныхединицах (длина- метр, масса- килограмм,время - секунда,сила тока - ампер,абсолютнаятемпература- кельвин, силасвета - кандела и количествовещества - моль).Но в среде MathCADих только пять:длина, масса,время, заряди абсолютнаятемпература.

Да, как это нипечально, нос единицамиизмерений приработе в средеMathCADчасто приходитсярасставаться.Вина здесь нетолько фирмы MathSoft,но и всей теорииразмерностей.Дело в том, чтоэта теориякакая - то незаконченная.Недаром еёизбегают освещатьв математическихсправочниках.В физическихже справочниках,когда делодоходит доразмерностей,теряется всякаялогика. Из - заэтого многиенаучные дисциплиныстараютсяизбавитьсяот пут размерностей,вводя безразмерныевеличины (критерии):число Рейнольдца,например, есливспомнитьаэродинамику.Освобождениеот размерностейподкрепленоцелой теорией- теорией подобия.Всё это не моглоотразится наразвитии пакетаMathCAD: там упомянутаяпятёрка размерностей (длина,масса, время,заряд и абсолютнаятемпература)неудобоваримав психологическоми даже в парапсихологическомсмыслах. Химикиникак не могутпонять, какконцентрациюраствора можноизмерять толькомолями, которых, кстати, в пакетеMathCADнет. Сама посебе размерность- понятие скользкое,опирающеесяне только нанауку, но и напривычки людей,законы искусстваи даже на постулатырелигии. Стоиттолько вспомнитьпопытки заменитьв метеосводкахмиллиметрыртутного столбана гектопаскали.Парапсихологический,если можно таквыразится,аспект проблемыразмерностейв среде MathCADвыражен втом, что пятёрка- число некрасивое,а значит, инеправильное.Там должна бытьсемёрка, но нета, котораязаложена вМеждународнуюсистему, а некаядругая.

Семь ѕчисло совершенноев науке, в искусствеи в религии:стоит толькоперечислитьцвета радуги,ноты музыкальнойгаммы, дни недели,чудеса света,наиболее промышленноразвитые странымира, античныхмудрецов, смертныегрехи... В классическомварианте языкаBASIC семьструктурныхуправляющихконструкцийалгоритма (циклс предпроверкой,цикл с постпроверкой,цикл с выходомиз середины,альтернатива,функция, процедураи множественноеветвление ) исемь типовпеременных(Integer,Long Integer, Single - precision Floating Point, Double - precisionFloating Point, Currency, String и Type-тип, заданныйпользователем).Да и сама цифроваявычислительнаятехника базируетсяне на числе 8(байт), как принятосчитать, а начисле 7. Два (бита)в степени восемь(256) - это числосимволов вASCxx- таблице. НоASCxx- таблица нимашиной, ничеловекомникогда невоспринимаетсякак единоецелое, а всегдаразбиваетсяна две половины- верхнюю и нижнююпо 128 знаков вкаждой. А этодва в степенисемь, а не восемь.

Ещё одна базоваяразмерностьлежит на поверхности,но почему - тонапрочь отвергаетсяучеными. Этоединица измерениястоимости -рубли, доллары,марки и т.д. Из-за этого в средеMathCADэкономическиерасчёты лишеныразмерности.Кстати, в языкBASICразмерностьвалюты введенакосвенно черезновый тип числовыхпеременных- Currency.


Великолепнаясемёрка MathCAD.

Раз мы уж залезлив мистику (вописание магическихсвойств числасемь), то подошлапора рассказао великолепнойсемёрке MathCAD- о семи видахграфиков,используемыхдля визуальногоотображенияразличныхзависимостей.Типов графиковв MathCAD,конечно, намногобольше, но напанели инструментовимеется ровносемь кнопокдля созданиясеми типовграфиков. Мистикада и только.

Самый распространенныйграфик: двухмерныйдекартов график (X-Y Plot),иллюстрирующийсвязи междудвумя или несколькимивекторами.

Декартов графикстроится, какправило, в тришага:

hшаг 1: заданиевида функцийодной переменной;

h шаг 2:формированиевектора значенийаргумента;

hшаг 3:построениеграфика.

Третий шаг всвою очередьделится опятьже на три шага

hшаг 1:рисование наэкране дисплеязаготовкиграфика - прямоугольникас чёрнымиквадратикамиу левой и правойсторон; заготовкаграфика появляетсяв отмеченномкурсором местепосле того, какпользовательнажмёт однуиз семи кнопокпанели инструментов«Графики»;

hшаг 2:заполнениепользователемдвух чёрныхквадратиковзаготовкиграфика («вакантныхмест) именемфункции и именемаргумента. Еслифункций большеодной, то ихимена вводятсячерез запятую.В заготовкеесть и другиечёрные квадратики,которые можноне заполнять.Среда MathCADзаполнитих сама. Графикпоявляетсяна дисплеепосле выводакурсора из зоныграфика (автоматическийрежим расчётов) или после нажатияклавиши F9(ручной илиавтоматическийрежим расчётов).Параметрыграфика задаютсястандартамипо умолчанию;

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

Если аргументпредставляетсобой угол,изменяющийсяот 0 до 360 градусов,то ось аргументовдекартоваграфика целесообразно«свернуть вкруг» и получитьполярный график( PolarPlot).

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

hшаг 1: заданиевида функцийдвух переменных;

hшаг 2:нумерация узлов сетки- поверхностипо первомуаргументу;

hшаг 3:формированиевектора первогоаргумента;

hшаг 4:нумерация узловсетки-поверхностипо второмуаргументу;

hшаг 5:формированиевектора второгоаргумента;

hшаг 6:заполнениематрицы значениямифункции в узлахсетки;

hшаг 7:построениеи форматированиеграфика поверхности.

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

На место линийграфика можнопоставитьмаленькиестрелочки,отмечающиенаправлениеизмененияфункций двухпеременных.Тогда получитсявекторноеполе (VectorField Plot).

Гибридом декартоваграфика и графикаповерхностиявляется такназываемыйтрёхмерныйточечный график2(3D ScatterPlot).Его главноеотличие отграфиков,отображающихпрямоугольныематрицы, в том,что с его помощьюможно изобразитьвзаимосвязьтрёх векторов.

Графики можнорасцветитьтак, чтобы болеевысокие зоныимели тёплыецвета, а болеенизкие - холодные.Пакет MathCADможет раскраситьобъёмные конструкции(скажем точнее,виртуальныеобъёмныеконструкции)так, чтобыпользовательсмог увидетьвсё, что емунужно.

В шестую версиюMathCADвстроены средстваанимации,позволяющиеоживить MathCAD- документы. Санимациейсвязана системнаяпеременнаяFRAME,которой черезкомандыWindows-Animation-Create...в окне Create-Animationможно приказатьменяться, напримерот 1 до 10. При открытомокне Create-Animationнужно выделитьобласть, визуальноеизменениекоторой желательнопроанализироватьи нажать кнопкуAnimate.послеэтого появитсяокно Playback,где средствами MicrosoftVideo будет показаноизменениекривой на графикев зависимостиот изменениязначения переменнойFRAME.

Основной недостатоктрёхмернойграфики MathCADи других подобныхпакетов - в том,что областьизмененияаргументовдолжна бытьпрямоугольной.


Сортировка.

Экспериментальныеданные переддальнейшейобработкойжелательноотсортировать.Это можно сделатьвручную, переставивместами двапервых элементаили (при объёмныхмассивах данных)автоматическичерез функциюcsort,возвращающуюупорядоченнуюматрицу поотмеченномуномеру столбца.Для этого вектораобъединяютсяв матрицу, котораяпосле сортировкирасчленяетсяна те же, но ужеупорядоченныевекторы. Этоприходитсяделать из-затого, что некоторыефункции MathCADотказываютсяиметь дело сне отсортированнымивекторами.


Линейнаяаппроксимация.

Встроенныефункцииintercept (tointercept по-английски- отложить отрезокна линии) и slope(наклон) решаютсамую простуюи самую распространённуюзадачу регрессионногоанализа - нахождениепрямой, пронизывающейточки методомнаименьшихквадратов.

Найденныезначениякоэффициентова и bаппроксимирующегоуравнения y(x)= a + bЧxпозволяютпостроить награфике прямуюс роящимисявокруг неёточками. Подобнымграфиком напрактике, какправило, завершаютрегрессионныйанализ: график,во-первых, дастнаглядноепредставлениео качествеанализа, а во-вторых,поможет в случаечего отловитьдопущенныеошибки вводаисходных данных(пропуск десятичнойточки, например).Этой цели можетслужить ипредварительнаясортировкавекторов: ошибочныезначения частовсплывают наконцах упорядоченноговектора. В-третьих,график сам посебе ценен.Графиком, т.е.с другого конца,можно довольнобыстро решитьлинейнуюаппроксимационнуюзадачу.

Дополнитьрезультатырегрессионногоанализа неплохоуказаниемточки, максимальноотклонившейсяот прямой. Самозначение такоговыброса найтинесложно черезфункцию max3.А вот с определениемкоординат этойточки придётсяповозиться:привлечь аппаратбулевых выражений,принимающихдва значения- True(в среде MathCAD- единица)и False (нуль), умножениекоторых натекущий индексфиксируетискомую координату.

В пакете MathCADPLUS 6.0почти 300 встроенныхфункций. Привсём богатствевстроенныхфункций пакетуMathCADне хватаетфункции определенияв векторе илив матрице координатминимального(максимального)элемента. Выходиз положения- это сумма (длявектора) илидвойная сумма(для матрицы)произведенийномера текущегоэлемента набулево выражение.Эту конструкциютак и хочетсяоформить в виде новойфункции с именемimax,например ибольше с такойзадачей невозиться. Нов новую функциюперекочуети будет замаскирована ошибка - не ясно,что будет возвращатьноворождённаяфункция imax,если в аргументе-векторе(в массиве) дваили болеемаксимальныхэлементов. Изпрозрачнойформулы с суммойэто понятно,а из «затенённой»функции imax- нет. Все этизамечания можноотнести и квстроеннымфункциям interceptиslope,возвращающимзначениякоэффициентовлинейной регрессии.Всегда остаютсясомнения, а нетли в этих функцияхфактическойили методологическойошибки. Последнююможно обнаружить,если подставитьв функции interceptиslope аргументы- векторы с двумяили даже однимметодом. Черездве точки можновсегда провеститолько однупрямую. Черезодну точкупрямых можнопровести бесчисленноемножество. Ив том, и в другомслучае суммаквадратовотклоненийдвух точек(одной точки)будет нулевойи требованияметода наименьшихквадратов будутвыполнятьсяабсолютно. Нов первом случаефункции можноinterceptиslope будут решатьпростую интерполяционнуюзадачу, длякоторой в средеMathCAD естьособый математическийаппарат. Вовтором случае(Xи Y- не векторы, аскаляры) функцииinterceptиslope должнывыдавать бесчисленноемножествозначений, связанныхограничениемY = a + bЧX.

В плане выполнимостикритерия наименьшихквадратов здесьвсё безупречно,но методология,заложеннаяв функции interceptиslope, приводитк тому, что причисле элементовв векторах Xи Y,меньше двух,выдаётся сообщениеоб ошибке. Всёэто слабаязащита, которуюпользовательможет легкообойти, подсунувфункциям interceptиslope более однойточки, но сповторяющимисязначениямиаргументов.Резюме: игратьможно не толькос игровымипрограммами.На эту рольподходят исерьёзныематематическиепакеты - былобы желание упользователя.


Дифференциальныеуравнения.

В среде MathCADдо версийPLUS 5.0дифференциальныеуравнения безособых ухищренийможно былорешать толькометодом Эйлера,у которогонизкие точностьи производительность(плата за простоту).Инструментарийдля решениядифференциальныхуравнений(систем) различногопорядка и различнымиметодами варсенале MathCADпоявился сравнительнонедавно. В неговходят 13 встроенныхфункций (Bustoer, bustoer, bvalfit, multigird, relax, Rkadapt, rkadapt, rkfixed,sbval, Stiffb, stiffb, Stiffr и stiffr).Функция rkfixedвозвращаетв матрицу Zс Р+1 столбцамии nстроками(Р - количествоуравнений илипорядок уравнения)- таблицу решенийсистемы: первый(вернее, нулевой)столбец - этозначения аргументаt (ихзадаёт пользователь),а последующиестолбцы - значенияординат решения.В функцию rkfixedзаложен широкораспространённыйметод Рунге- Кутта. Несмотряна то что этоне самый быстрыйметод, функцияrkfixedпочти всегдасправляетсяс поставленнойзадачей.


Программирование.

Наиболее заметная«изюминка»шестой версииMathCAD,которую сразуоценили пользователи,- это встроенныйязык программирования.В MathCAD,по сути, не встроенязык программирования,а просто снятоограничениена использованиесоставныхоператоровв теле алгоритмическихуправляющихконструкцийвыбор и повторение.Кроме того,добавлены циклс параметроми оператордосрочноговыхода break.Алгоритмическиеконструкциии составныеоператоры всреде MathCADвводятся нажимомодной из семикнопок панелиуправления:

Addline

¬

if

while

for

break

otherwise



Addline - добавитьстроку программы,тела цикла,плеча альтернативыи т.д.

¬- знак присвоения.

While- при нажатиина эту кнопкуна экране появляетсязаготовка циклас предпроверкой:слово whileс двумя пустымиквадратиками.В квадратикправее whileнужно записатьбулево выражение(переменную),управляющеециклом, а вовторой квадратик(ниже while) - тело цикла.

If- позволяетвводить в программуальтернативус одним плечом.

Otherwise- позволяетпревратитьнеполную альтернативув полную:

C ¬D if A > B

E ¬F otherwise

for-кнопка дляввода в программыцикла с параметром.

Break- кнопка досрочноговыхода из программыили цикла.


MathCADили программына языках высокогоуровня?


Итак системаMathCADпозволяетавтоматизироватьмножествоматематических,инженерныхи учебных расчётов.С её помощьюможно составлятьбиблиотекии пакеты издокументов,реализующихтакие расчёты.

Целесообразнали, при наличииMathCAD, подготовкапрограммматематическихрасчётов наязыках высокогоуровня? Однозначногоотрицательногоответа датьнельзя. Системаосновательнозагружает ПК.Интерпретацияформул и работасистемы всегдав графическомрежиме ведётк потере скоростивычислений.Для ПК безсопроцессоров( класса IBMPC XT )медлительностьсистемы вполнеощутима. Специализированныепрограммы наПаскале и дажена Бейсикеобеспечиваютнамного болеевысокую скоростьвычисленийоднако и требуютбольше временидля подготовкипрограмм.

Что вам важнее: потратитьнесколько дней(а то и недель)на разработкуи отладку программы,решающей нужнуюзадачу за десятыедоли секунды,или затратитьвсего десятокминут на составлениедокумента,решающего туже задачу спомощью системыMathCAD за несколькосекунд? Еслипоследнийвариант предпочтительнее- вам подходитMathCAD!Несомненноважны и такиедостоинствасистемы, каквысокая достоверностьи надёжностьрезультатоввычислений,наглядностьдокументови удобные графическиесредства выводарезультатоввычислений.


Литература:


  1. «МирПК»№8’91стр43


2.«МирПК»№8’91стр48


3.ОчковВ.Ф MathCADPLUS 6.0 длястудентов иинженеров. -М.: ТОО фирма«КомпьютерПресс»,1996.

1Это не совсемтак: пользовательMathCADможет правеечисла, стоящегоза знаком «=»,ввести другуюразмерность,например метры.

2Другое название- график рассеяния.

3Стрелка в аргументефункции maxуказываетна то, что он- вектор.




MATHCAD. 2

Общаяхарактеристика.2

Первыйвзгляд. 3

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

Вычислительныеспособности.9

Интеграция.11

Языкипрограммирования.11

Электронныекниги. 11

12

Заключение.12


MATHCAD.


Общаяхарактеристика.


Однаиз задач ЭВМ- автоматизациятруда, повышениеэффективностинаучных исследований.Основная особенностьЭВМ - ориентацияна применениепользователями,не владеющимиязыками программирования.Такой подходпозволяетпреодолеватьязыковой барьер,отделяющийчеловека отмашины. С этойцелью разрабатываютсяпакеты прикладныхпрограмм,рассчитанныена широкиекруги специалистов.К подобнымпакетам относитсяMATHCAD.


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


Отдругих продуктованалогичногоназначения,например, Maple& Theorist (компанииWaterlooMaple Software)иMathematica(компанииWolfResearch),MATHCAD(компании Mathsoft)отличаетсяориентацияна созданиевысококачественныхдокументов(докладов, отчетов,статей) в режимеWYSIWYG(What You See Is What You Get).Это означает,что, внося изменения,пользовательнемедленновидит их результатыи в любой моментможет распечататьдокумент вовсем блеске.Работас пакетом заэкраном компьютерапрактическисовпадает сработой набумаге с однойлишь разницей- она болееэффективна.Преимущества MATHCADсостоитв том, что онне только позволяетпровести необходимыерасчеты, но иоформить своюработу с помощьюграфиков, рисунков,таблиц и математическихформул. А этачасть работыявляется наиболеерутинной ималотворческой,к тому же онаи времяемкаяи малоприятная.


Перваяверсия пакетаMATHCADпоявилась в1986г., вторая (2.01) - в1987г. Пакет постоянносовершенствуется.В настоящеевремя существуютверсии MATHCAD,работающиепод Windows.В августе 1995г.вышла последняя,известная насегодняшнийдень, шестая32-битная версияMATHCAD`a под Windows.Вышла она вдвух вариантах:MATHCAD6.0 SE (Standard Edition) иверсия дляпрофессиональногопользователя- MATHCAD

PLUS6.0.

Первыйвзгляд.


Рассмотримверсию MATHCAD`a6.0. Так как устаревшиеверсии, такиекак 2.52 и другие,уже практическине используются,а все реализованныев них возможностисуществуюти в более позднихверсиях. К томуже предыдущиеверсии былипод DOS,а версия 6.0 подWindowsи она можетиспользоватьвсе преимуществаWindows.


Дляначала рассмотриминтерфейс.


Интерфейсболее дружествен,по сравнениюс Mathematicaили Maple.Текст, формулыи графики можносвободно сочетать,передвигаяих как выделенныештриховойрамкой объекты,ипомещать ихв произвольнойточки экрана;при изменениихотя бы в одномиз объектовпоследовательнопересчитываютсявсе остальныеданные.


Всепроцедуры:возведенияв степень, извлечениякорня, взятиямодуля, интеграла,операции присваиванияи многие другиевынесены впиктограммы.С клавиатурыони набираютсяинтуитивнопонятным способом.


Рассмотримна примеренекоторые изних, они понятнылюбому, ктохоть чуть-чутьзнаком с математикой,не говоря ужеоб инженерах.



Возможностиработы с текстом.В MATHCAD`eможно не толькосовмещать тексти формулы, нои устанавливатьметки табуляции,центрироватьи выравниватьнапечатанное,а также длянаглядностивыделять фрагментытекста и проверятьорфографию.Также можноэкспортироватьсодержимоерабочей областив Wordвформате RTF.


В версии6.0 есть так называемыеQuickSheets- интерактивныесредстваавтоматизациивыбранныхпользователемопераций имв соответствие«горячих»клавиш. QuickSheetsявляется полноценнымрабочим пространствомс собственнымифункциональнымивозможностями.


Такжев версии 6.0 появиласьанимация; описанныес помощью формулизображениякакого-либообъекта могутбыть представленыв динамике вотдельном окне.При этом созданный«мультфильм»можно сохранитьв Windows- совместимыхAVI-файлах.


В пакетешироко используютсявстроенныефункции. К основнымвстроеннымфункциям относятсятригонометрическиеи обратные,гиперболическиеи обратные,экспоненциальныеи логарифмические,статистические,Фурье, Бесселя,комплексныхпеременных.Всегов MATHCADверсии 6.0 - 222 встроенныхфункций. Такойширокий наборфункций позволяетрешать задачипрактическииз любой области.


Приведемобозначенияосновных изних:


  1. Тригонометрическиеи обратныефункции:

    sin(z), cos(z),tan(z), asin(z), acos(z), atan(z)

    z- уголв радианах

  2. Гиперболическиеи обратныефункции:

    sinh(z), cosh(z),tanh(z), asinh(z), acosh(z), atanh(z)

  3. Экспоненциальныеи логарифмические:

    exp(z) - ez

    ln(z) - натуральныйлогарифм

    log(z)-десятичныйлогарифм

  4. Cтатистическиефункции:

    mean(x)-среднеезначение

    var(x)-дисперсия

    stdev(x)-среднеквадратическоеотклонение

    cnorm(x)-функция нормальногорапределения

    erf(x)-функция ошибки

    Г(x)-гамма-функцияЭйлера

  5. ФункцииБесселя:

    J0(x),J1(x), Jn(n,x) -функцииБесселя первогопорядка

    Y0(x),Y1(x), Yn(n,x) - функцииБесселя второгопорядка

  6. Функциикомплексногопеременного:

    Re(z)-вещественнаячасть комплексногочисла

    Im(z)-мнимая частькомплексногочисла

    arg(z)-аргументкомплексногочисла

  7. ПреобразованиеФурье:

    U:=fft(V)-прямоепреобразование(V-вещественное)

    V:=ifft(U)-обратноепреобразование(V-вещественное)

    U:=cfft(V)-прямое преобразование(V-комплексное)

    V:=icfft(U)-обратноепреобразование(V-комплексное)

  8. Корреляционнаяфункция - позволяетрассчитыватькоэффициенткорреляциидвух векторовvxиvyи определитьуравнениелинейной регрессии:

    corr(vx,vy)-коэффициенткорреляции

    slope(vx,vy)-коэффициентнаклона линиирегрессии

    intercept(vx,vy)-начальнаякоординаталинии регрессии

  9. Линейнаяинтерполяция:

    linterp(vx,vy,x)

    vx,vy-векторы значенийаргумента ифункций x-значение аргумента,для которогопроводитсяинтерполяция

  10. Функциядля определениякорней алгебраическихи трансцендентныхуравнений:

    root(уравнения,переменная)- значениепеременной,когда уравнениеравно нулю

  11. Датчикслучайных чисел:

    rnd(x)- случайноечисло с равномернымраспределениемот 0 до x

  12. Целаячасть переменной:

    floor(x)-ближайшеенаименьшеецелое число

    ceil(x)-ближайшеенаибольшеецелое число

  13. Выделениеостатка:

    mod(x,y)-остатокот деления xнаy

  14. Остановкаитерации:

    until(x,y)- когдаx

  15. Функцияусловногоперехода:

    if(условие,x,y)- еслиусловие выполняется,то функцияравняетсяx, иначеy

  16. Единичнаяфункция (функцияХевисайда):

    Ф(x)- еслиx>0.То функцияравна 1, иначе0

  17. Логическиевыражения иоперации.Простейшимивидами логическихвыраженийявляются следующие:логическаяконстанта,логическаяконстанта,логическаяконстанта,логическаяпеременная,выражениеотношения.Например, приx:=0.5операции отношенияприсваиваютLистинуили ложь (1 или0):

    L:= xЈ1 L=0

    L:= xі1 L=0

    L:= x»1 L=0

    L := x

    L := x>1 L=0

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


Длятех, кто работаетв группах,предусмотренысредства коллективнойработы. Возможнаподдержка связис удаленнымипользователямипо электроннойпочте: рабочеепространствов стандартномформате, каки электронноесообщение,можно пересылатьнепосредственноиз программы.Так же при интеграциис информационнойсистемой WorldWide Web,позволяющаяэкспортироватьи импортироватьрабочие документыв Internet,просматриватьпо WWW-сообщения иосуществлятьгипертекстовыепереходы длядоступа к информации.


Прирешении задачфизики обычнотребуетсяпроставленияразмерностии такую возможностьпредоставляетMATHCAD.Всего в средеMATHCADпять единицизмерения:длина, масса,время, заряди абсолютнаятемпература.Если же прирешении выбудете, к примеру,суммироватьсекунды с метрами,то MATHCADчестновам признается,что делать этонельзя и откажетсяработать.


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


ПакетMATHCADпредоставляетширокие графическиевозможности.Кроме того,здесь можноиспользоватьчертежи и рисунки,полученныев других графическихсистемах.


Нажатиембуквально однойкнопки можнозадать шаблондля генерациидвумерногографика, причемв одних и техже осях можетбыть несколькографиководновременно.В MATHCAD`eпредставленыследующие видыграфиков: декартовый(X-Yplot),полярный (Polarplot),поверхности(Surfaceplot),карта линийуровня (Contourplot),векторное поле(VectorField plot),трехмерныйточечный (3DScatter plot),трехмернаястолбчатаядиаграмма (3DBar Chart).Все графикиявляются стандартнымиобъектамиMATHCAD`a:их можно редактировать,а при пересчетеисходных данныхони автоматическиперерисовываются.Кроме того, всредствах‘объемной’визуализацииданных существуютвозможностькомпозициизадних планов.Существуютбольшое количествоопций для работыс осями, а такжевозможностьимпортироватьграфическиеизображения.


Примерпостроениядвухмернойграфики:


Примерпостроениятрехмернойстолбчатойдиаграммы:





Вычислительныеспособности.


Кромеработы с десятичнымичислами существуютвозможностьработы с восьми- и шестнадцатеричнымичислами. Также есть наборпроцедур длявозможностифункционированияне только надчислами, векторамиили матрицами,но и над болеесложными объектами,таких как деревья,списки илинаборы. Привычисленияхв символах, такназываемаясимвольнаяматематика(или аналитическиепреобразования),существуюттри группыинструментов:

  1. Командысимвольнойматематикииз меню (Symbolic);

  2. Режимнепрерывныхсимвольныхпреобразований(LifeSymbolics);

  3. Оптимизациячисленныхвкладок черезсимвольныепреобразования(Optimize).


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


Но всимвольнойматематикепакета MATHCADсуществуетодин недостаток.Она оперируетнекоторымивстроеннымифункциями,которых в самомпакете MATHCADнет, либо онитам есть, ноназываютсяпо-другому. Этообъясняетсятем, что символьныйпроцессорвместе с некоторымифункциями былприобретену фирмы MAPLE.Впакете MAPLEVв вычислениявозможны 500000знаков (профессиональнаяверсия). Поэтомунередко в MATHCAD`eпри символьныхпреобразованиях,ответ получаетсянастолькогромоздким,что не вмещаетсяв рамки экранаи по разрешениюпользователязаносится вБуфер ОбменаClipboard.


Дляудобствастатистическихрасчетов вMATHCADвключены 16 наборовтиповых распределенийв MATHCADPLUS и7 в базовой версии,которые можноиспользоватьпри анализе,моделированиии проверкестатистическихгипотез (к примеру,можно смоделироватьразвитие эпидемииили финансовойпирамиды).


Интеграция.


MATHCAD6.0работает подWindowsи естественноиспользуетвсе его преимущества.Можно экспортироватьрабочие документыMATHCAD`aв другие Windows-приложенияи импортироватьиз других приложенийв стандартахдинамическогообмена данными(DDE)исвязывания- внедренияобъектов (OLE).Кроме того,MATHCADможет восприниматьи создаватьфайлы с ASCII-кодировкой,а также за счетсвоих 32- битныхвозможностейподсоединятьк программефункции С иС++.


Языкипрограммирования.


Кромеработы с функциямиязыка С и С++, естьвстроенныйязык программирования.Пользовательможет создаватьсвой собственныеприложенияк MATHCAD`у:процедурныеоперации позволяютопределятьлокальныепеременные,циклы, ветвления,вложенныеструктурыданных, рекурсиюи т.д. к тому жеязык программированиявнедрен впользовательскийинтерфейспакета: егооператорыфункционируюткак полноправныеобъекты MATHCAD`a,а при измененияххотя бы одномиз объектовприводят кавтоматическоймодификациизависимыхвыражений.


Электронныекниги.


Длярешения стандартныхзадач в различныхобластях знанийMathSoftвыпускаетспециальныеэлектронныекниги - приложенияк MATHCAD.Они представляютсовокупностьрабочих пространств,организованныхв гипертекстовуюструктуру соглавлением,индексами иключевымисловами. Всематематическиеформулы со“страниц” этихкниг могут бытьперенесеныв любую точкурабочей области.На сегодняшнийдень написаноболее 40 электронныхкниг по технике,физическимнаукам, астрономии,математики,статистике,финансам идругим областямпримененияMATHCAD`a.


Заключение.


И так,перечислимосновные достоинства MATHCAD`a.


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


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


И в-третьих,совместноприменениетекстовогоредактора,формульноготранслятораи графическогопроцессорапозволяетпользователюв ходе вычисленийполучить готовыйдокумент.


Но, ксожалению,популярныйво всем мирепакет MATHCADфирмы MathSoft,в России распространенеще слабо, каки все программныепродукты подобнорода.


Наверное,это оттого, чтолюди, живущиев России, ещёне привыклик тому, что решитьсистему дифференциальныхуравнений изпяти переменныхшестого порядкаможно не толькос помощью карандашаи бумаги, но ис помощью компьютераи MATHCAD`a.Зачем человекус высшим образованием,который знаети может решитьэту систему,решать её набумаге, когдаможно переложитьэту рутиннуюработу на плечимощных вычислительныхмашин. Другоедело учащиесяучебных заведений.Они конечноже, решат этусистему, нополучив в ответемассу чисели выражений,не будут знать,где ответ и правильныйли он. Потомучто они не понимаютсмысла того,что делают.Поэтому, компьютерыв учебных заведенияхбезусловно,нужны, но толькодля студентовстарших курсов.Ну а студентаммладших курсовони нужны лишьдля того, чтобы учится наних работатьи программировать,а использованиеготовых программныхпродуктоввозможно лишьтолько припонимании задачи знания принципаеё решения.


Приятнобыть сильнымфизически, нобыть сильныминтеллектуальноне менее приятно.Именно этичувства испытываешьпри работе сMATHCAD`ом.


13