39. Матем-ие константы
Константа – это величина, которая имеет определённое значение в процессе вычислений.
Числовые константы:Константами наз-ют поимен-ые объекты, хранящие некот-ые знач-ия, кот-ые не могут быть изменены. В качестве имени числ-ых констант испол-ся их числовые знач-ия. В системе MathCAD испол-ся и числ-ые константы, значениями которых явл-ся числа с разной системой исчисления: десятичные, восьмеричные или шестнадцатеричные. Числ-ые константы задаются с пом-ю арабских цифр, десятичной точки (а не запятой) и знака – (минус). Например: 123 – целочисленная десятичная константа.12.3 – десятичная константа с дробной частью.
Строковые константы: – это строка, заключенная в кавычки, напр.: “My name”. В строк-ую константу могут входить один или несколько символов либо слов.
43=46. Табул-ние функций
Под табул-нием функций понимается вычисл-ие дискретных знач-ий функции при изменении знач-ия арг-нта по закону арифм-кой прогрессии. При этом функция должна быть непрерывной на отрезке табул-ния. Резул-ты табул-ния при-нято представлять в виде таблиц. При та-бул-нии необх-мо определить знач-ие дискретного арг-нта, для чего задается идентификатор дискретного арг-нта и определяется область его знач-ий. Одним из способов задания знач-ий дискретного арг-нта, является задание счетчика знач-ий дискретного арг-нта или иначе - ранжи-рованной переменной. Изменение арг-нта зада-ется в формате
x:=начальное знач-ие[,начальное знач-ие + шаг]..конечное знач-ие
в скобках указан необяз-ый параметр, если его нет, шаг, по ум-ию, равен 1. Двоеточие ".." вво-дится символом точка с запятой ";" или кнопкой “m..n” панели инстр-тов “Матрицы”.
47. Продолжение
Матричный метод решения системы линейных ур-ий реализован в ф-ии lsolve. Общий вид ф-ии:
lsolve(а, b), где
а - матрица коэф-ов перед неизвестными
b - вектор свободных членов
48. Способы символьных вычислений
Основными достоинствами симв-ых вычисл-ий явл-ся отсутствие погрешности вычисл-ий и универсальность испол-ия в различных при-кладных задачах. Симв-ые вычисл-ия можно осущ-ть тремя различными способами:
-С помощь-ю меню «Символика».
-С пом-ю спец-ого оператора симв-ого ввода, включающего знак симв-ого равенства [à].
-С испол-ем станд-ых функций с симв-ым знаком равенства.
Аналит-ие преобр-ия, проводимые через меню, касаются только одного, выделенного в данный момент, выражения. Соотв-но, на них не влия-ют формулы, наход-ся в док-те MathCad выше этого выделенного.
Продолжение дальше
50. Продолжение
Резул-том действия ф-ии polyroots явл-ся век-тор, составленный из N-корней рассматриваемого полинома. При этом нет надобности вво-дить какое-либо начальное приближение. Коэф-ты рассматр-го в примере полинома записаны в виде вектора. Первым в векторе должен идти свободный член полинома, вторым - коэф-т при x-1 и т.д. Соотв-но, последним элементом векто-ра должен быть коэф-т при старшей степени x0.
Пример: x^3 – 2x^2 -2x -3=0
y(x):= x^3 – 2x^2 -2x -3
(-3)
(-2)
v:= (-2)
(1)
polyroots(v)=(…)
51. Операции над векторами и матрицами
Операции, выполняемые над векторами и матрицами можно разбить на две большие группы. К первой группе относятся операции, кот-ые применяются к отдельным векторам и матрицам.
Продолжение дальше
40. Задание функций польз-ляИмя функции – идент-р, как и имя переменной. Идент-тор может состоять из симв-ов лат-ого и греч-ого алф-ов, лат-их цифр, символа подчёрк-ия, знака процента, однако первой должна быть буква. В скобках указ-ся список аргум-ов, исп-емых в выражении, перечисл-ых через зап-ую. Функция польз-ля испол-ся так же, как и встроенная функция (<имя функции>[<аргумент>]:= <выражение>).Пример функции польз-ля:
Арг-нты функции: a, b – длины сторон; γ – угол между сторонами
S(a,b,γ):=1/2*a*b*sin(π/180 * γ).
44.Произв-ая ф-ии.Вычислить ее знач-ие в т.
Оператор производной MathСad предназн-н для нахождения численного знач-ия производной ф-ии в заданной точке. Напр., чтобы найти про-изв-ую x3 по x в точке x=2, выполните след-ее:
Сначала опред-те точку, в кот-ой необх-мо най-ти производную. Наберите x:2.
Щёлкните ниже опред-ия x. Затем наберите ? .Появляется оператор производной с двумя полями,
Щёлкните на поле в знаменателе и наберите x. Это имя переменной по которой проводится дифференцирование.
Щёлкните на поле справа от d/dx и наберите x^3. Это — выражение, которое нужно дифференцировать.
Нажмите знак =, чтобы увидеть результат.
48. Продолжение
Оператор симв-ого вывода, напротив, учитывает все пред-щее содержимое док-та и выдает резул-т с его учетом.
Для вычисл-ия с пом-ю команд меню нужно:
-записать выражение
-выделить переменную, относительно кот-ой выполняются преобр-ия
-ввести команду, напр., Символика, Переменная, ДифференцированиеДля вычисл-ия с пом-ю пан-ей инстр-тов нужно
-ввести оператор с панели инстр-тов Матанализ, напр., оператор дифференцирования
-записать в слоты выражение и арг-нт
-ввести оператор симв-ого вычисл-ия
-нажать Enter
Осн-ые функции для выполнения симв-ых вычисл-ий:
Simplify – упрощ-ие алгебр-их выражений:
Collect – приведение подобных членов:
Factor – разложение на множители:
Продолжение дальше
51. Продолжение
Напр., транспон-ие матрицы или вы-числ-ие обр-ой матрицы. Ко второй группе от-носятся операции, кот-ые выполняются над группой векторов и матриц. Как правило, они выполняются над двумя матрицами или матрицей и вектором. Напр., слож-ие/вычит-ие матриц, перемнож-ие матриц или умнож-ие матрицы и вектора. К векторам и матрицам, при выполнение операций над ними, могут предъявляться определенные требования в соотв-ии с требованиями классич-ой матем-ки. Напр., при перемнож-ии матрицы и вектора, кол-во столбцов матрицы должно быть равно кол-ву строк вектора.
Продолжение дальше
51. Продолжение
55. Ф-ии сортировкиИмеются несколько встроенных ф-ий, кот-ые позволяют быстро управлять сорт-ой матриц- sort(v) – сорт-ка элементов вектора по возр-ию- csort(A,i) – сорт-ка строк матрицы выстраиванием элементов i-го столбца в порядке возр-ия-rsort(A,i) – сорт-ка столбцов матрицы выстраиванием элементов i-ой строки в порядке возр-ия- reverse(v) – перестановка элементов вектора в обр-ом порядке.v- вектор, А - матрица, i - индекс строки или столбца. (3) (1) (2)v:=(1) sort(v)=(2) reverse(v)=(4) (4) (3) (1) (2) (4) (3) (1 9) (3 0) (1 9)A:=(3 0) csort(A,1)=(2 8) csort(A,0)=(2 8) (2 8) (1 9) (3 0) (9 1) (1 9)rsort(A,1)=(0 3) rsort(A,2)=(3 0) (8 2) (2 8)
58. Понятие алгоритма и программы. Блок-схемы алгоритмов
Алгоритм - это точное и понятное предписание исполнителю совершить опр. посл-ть действий, направл-ых на достижение указан. цели или ре-шение поставленной задачи. Указание вып-ть конкр. действие наз. командой.
Программа - это послед-ть команд для ЭВМ, выполнение которых реализует алгоритм. Программирование (кодирование) - это перевод
алгоритма на язык понятных ЭВМ команд. С расширением сферы применения ЭВМ, появлением технологий программирования и различного типа инструментальных средств, разработ-ка программных средств приобретает все боль-ше индустриальных черт (индустрия программирования). Наиб-ее распространенными спо-собами граф-ого изобр-ия алгоритмов явл-ся блок-схемы. Все блоки в схеме располагаются в послед-сти сверху вниз и слева направо и объе-диняются между собой линиями потока.
62. Продолжение
Этот цикл имеет уже два параметра: i - параметр, опред-ющий номер строки; j - параметр, опред-ющий номер столбца матрицы. Заметим, что такой цикл наз-ся двойным циклом.
Заметим, что если параметр цикла не входит в индексные выражения элементов массива, то он может принимать вещественные значения.
Заметим, что во фрагментах, приведенных на рисунках системная переменная ORIGIN=1.
52. Ф-ии соз-ия матрицСоз-ие матриц на основе некот-ой ф-ии: Наиб-ее удобный прием автомат-ии соз-ия матриц заключ-ся в предвар-ом опред-ии ф-ии f (i, j), арг-нтом кот-ой должны быть индексы элементов матрицы:
matrix (м, N, f) – соз-ие матрицы размера MхN, каждый i,j элемент кот-ой есть f (i, j):
M - кол-во строк матрицы;
N - кол-во столбцов матрицы;
f(i,j) - ф-ия
Создание матриц для построения 3D графиков:
CreateSpace(F( или fI, f2, f3) , t0,t1,tgrid,fmap) - соз-ие вложенного массива, представл-его х-, у- и z-коор-ты парам-ой простр-ой кривой, заданной ф-ией F:
F(t) - векторная ф-ия из трех элементов, заданная параметр-ки относ-но единств-ого арг-нта t;
f1(t) ,f2 (t), f3 (t) - скалярные ф-ии;
t0 - нижний предел t (по ум-ию -5);
t1 - верхний предел t (по ум-ию 5);
Продолжение дальше
56. Разбиение матрицы
Часть матрицы выделяется одним из след-их способов:
- для выделения одного элемента предназн-н оператор нижнего индекса. Оператор вводится наж-ем кнопки Subscript (Нижний индекс) со значком хn„ на панели Matrix (Матрица), либо наж-ем клавиши <[>
- для выделения из матрицы столбца примените оператор выделения столбца наж-ем кнопки Matrix Column с изобр-ем угловых скобок <> на панели Matrix, либо сочетанием клавиш Ctrl+6. Этот оператор наз-ют еще, по аналогии с пред-им, оператором верхнего индекса
- чтобы выделить из матрицы строку, примените тот же оператор <> к транспон-ой матрице
- для выделения подматрицы испол-те встроенную ф-ю submatrix (A, ir, jr, ic, jc), возвращаю-щую часть матрицы А, наход-ся между строками ir, jr и столбцами ic, jc включ-но. Для выбора из матрицы элемента с известными индексами в MathCad сущ-ет спец-ая ф-ия hlookup (i, M, j), где i-номер строки, j-номер столбца, M- некоторая матрица.
Продолжение дальше
60. Линейные алгоритмы
Характерной особенностью линейных алгоритмов явл. строго послед-ное вып-е всех операций алгоритма без пропусков и повторений вычислений. Поэтому конструкции реализующие такой алгоритм, заполняются в нужном порядке их выполнения слева направо-сверху вниз.
Пример 1. Составить программу для вычисления корней квадратного уравнения: ax2 + bx + c = 0 по известной формуле:
Алгоритм (1) явл-ся линейным и фрагмент док-нта MathCAD содержит конструкции
63. Программирование в Mathcad (Инструкция Add Line). Оператор внутреннего присваивания в Mathcad.
Соз-ие программы Add Line:
1.Введите часть выр-ния, к.т будет нах-ся слева от знака присваивания 2. Вызвать на экран панель инстр-ов Programming 3.Нажать на этой панели Add Line 4. Если приближ-но известно, сколько строк кода будет содержать программа, можно создавать нужное кол-во линий повт. нажатием Add Line 5.В появившемся местозап-ле введите желаемый прогр. код испол-я прог. опер-ры.
Оператор добавления линии Add Line выполняет ф-ии расширения программного блока. Рас-ширение фиксируется удлинением вертикальной черты программных блоков или их древовидным расширением. Благодаря этому, в прин-ципе, можно создавать сколь угодно большие программы. Оператор внутр-го присваивания выполняет ф-ии внутр-го, локального присваивания. Напр., выражение присваивает переменной x знач-ие 123. Локальный характер присва-ивания означает, что такое знач-ие х сохр-ет то-лько в теле программы. За пределами тела про-граммы знач-ие переменной х мо-жет быть не-опред-ым, либо = знач-ию, кот-ое зада-ется вне программного блока операторами локально-го присваивания или глобального присваивания.
52. Продолжение
tgrid - число точек сетки по переменной t (по ум-ию 20);
fmap - векторная ф-ия от трех арг-нтов, задающая преобр-ие коор-т.
CreateMesh(F(или g, или f1,f2,f3),s0,s1,t0,t1,sgrid,tgrid, fmap) – соз-ие вложенного массива, представл-его х-, у- и z-координаты параметрической поверх-ти, заданной ф-ией F:
F(s,t) - векторная ф-ия из трех элементов, заданная параметр-ки относ-но двух -нтов s и t;
g (s, t) - скалярная функция;
f1(s,t) ,f2 (s,t) ,f3(s,t) - скалярные ф-ии;
s0, t0 - нижние пределы аргументов s, t (по ум-ию -5);
s1,t1 - верхние пределы аргументов s,t (по ум-ию 5);
sgrid, tgrid - число точек сетки по переменным s и t (по ум-ию 20);
fmap - векторная ф-ия из трех элементов от трех арг-нтов, задающая преобр-ие коор-т.
Для ф-ий CreateMesh и CreateSpace все арг-нты, кроме первого (имени функции), необяз-ны.
56. Продолжение
Чтобы опред-ть положение по известному элементу в матрице сущ-ет спец-ая ф-ия match(z, M), где z – скаляр, положение кот-ого опред-ся, M - матрица, в кот-ой ведётся поиск. Выделить из матрицы один столбец или строку можно с пом-ю ф-ии submatrix.
Продолжение дальше
61. Разветвляющиеся алгоритмы
Пример. Характ. чертой развл. алгор. явл. на-личие в них неск-их возможных ветвей вычислений. Выбор конкретной ветви зависит от вы-полнения (или не выполнения) заданных усло-вий на знач-ия переменных алгоритма. Пример 2. Значение переменной y зависит от значений переменной x и определяется выражением:
Для реализации разветвляющегося алгоритма необх-мо испол-ть:
- конструкции, проверяющие выполнение за-данных условий.
- конструкции, выбирающие нужную ветвь вы-числений в завис-ти от резул-ов проверки за-данных условий.
64. Оператор if, for
Условный оператор if явл-ся оператором для соз-ия условных выражений. Он задается в виде:
Действия условного оператора if сост.из 2 час-тей. Сначала проверяется лог. выражение(условие) справа от него, если оно истинно, вып-ся выр-е слева от оператора if, если ложно ничего не происходит, а вып-е программы продолжается переходом к ее след. строке. Совместно с этим оператором часто испол-ся операторы прерывания break и иного выбора otherwise.
Оператор цикла for служит для организации циклов с заданным числом повторений. Он записывается в виде:
Эта запись озн-ет, что выраж-ие, помещенное в располож-ый ниже заменитель, будет выполня-ться для знач-ий перемен. Var, меняющихся от Nmin до Nmax с шагом +1. Перем-ую счетчика Var можно испол-ть в исполняемом выражении.
53. Матрицы спец-ого вида
Существуют различные матрицы спец-ого вида (верхние и нижние треуг-ые, единичные, трапе-циевидные, скалярные, нулевые и др.). В Math-Cad имеются ф-ии, кот-ые позволяют быстро и просто задавать матрицы спец-ого вида.
- identity(N) – служит для задания единичной матрицы размерности NxN.
(1 0 0)
Identity(3)=(0 1 0)
(0 0 1)
- diag(v) – диагональная матрица, на диагоналях кот-ой нах-ся элементы вектора v.
- geninv(A) - соз-ие матрицы, обр-ой матрице А
N-целое число, А-матрица из действительных чисел, v – вектор.
((1)) (1 0 0) (1 2)
diag((2))=(0 2 0) A:=(3 4) geninv(A)= (…)
((3)) (0 0 3) (5 6)
54. Размерность матрицы
Для получения сведений о характ-ках матриц или векторов предусм-ны след-ие встроенные ф-ии:
- rows(A) – число строк
- cols(A) – число столбцов
- length(v) – число элементов вектора
- last(v) – индекс последнего элемента вектора
A – матрица или вектор
V – вектор
(1) rows(v)=3 length(v)=3
v=(2) cols(v)=1 last(v)=2
(3)
56. Продолжение57. Ф-ии слияния матриц
Для того, чтобы составить из двух или более матриц одну, в Mathcad предусм-ны две матричные ф-ии:
- augment(A,B,C..) – матрица, сформированная слиянием матриц арг-нтов слева направо.
- stack(A,B,C…) – матрица, сформированная слиянием матриц арг-нтов сверху вниз.
где A,B,C - векторы или матрицы соотв-его размера.
A:=(123) B:=(000)
(456) (000)
Stack(A,B)=(123) augment(A,B)=(123 000)
(456) (456 000)
(000)
(000)
62. Циклические алгоритмы
Пример. Циклич. алгор. наз алгоритм, содержащий вычисления поворяющиеся при разл. значениях нек-рой переменной, названой параметром цикла,а сами повторяющиеся выч-ния состовляют тело цикла. Типы циклов: а)цикл типа арифм-ой прогрессии (изменение параметров цикла по закону арифметической прогрессии) б)итерационный цикл.
Особенностью цикла типа арифм-ой прогрессии явл-ся изменение параметра цикла по закону арифм-ой прогрессии и поэтому можно, не выполняя цикла, опред-ть кол-во повторений цикла.
Параметр такого цикла задается дискретной переменной и тогда конструкции, входящие в тело цикла располагаются, начиная от этого описания и до конца док-нта MathCAD или до конструкции, переопред-ющей дискретную пе-ременную - параметр цикла.
Продолжение дальше