Как задать вектор в mathcad
Перейти к содержимому

Как задать вектор в mathcad

  • автор:

Как задать вектор в mathcad

• eigenvec(M, z) — возвращает одиночный нормированный собственный вектор, связанный с собственным значением z матрицы M . Собственный вектор приведен к единице длины. Функция eigenvec использует алгоритм обратной итерации.

• eigenvecs(M, [«L»]) — возвращает матрицу, содержащую все нормированные собственные векторы матрицы M . Столбец n результирующей матрицы является собственным вектором, соответствующим собственному значению c номером n, возвращаемому функцией eigenvals . По умолчанию возвращается правый собственный вектор. Функция eigenvecs также может вернуть и левый собственный вектор, удовлетворяющий условию v H · M = z · v H , где H означает транспонирование.

• genvals(M, N) — возвращает вектор вычисленных собственных значений, v i , каждое из которых удовлетворяет обобщенной проблеме собственных значений M · x = v i · N · x для связанных собственных векторов x i .

• genvecs(M, N, [«L»]) — возвращает матрицу, содержащую нормированные собственные векторы, соответствующие собственным значениям в векторе v , возвращаемом функцией genvals . Столбец i этой матрицы является собственным вектором x , удовлетворяющим обобщенной проблеме собственных значений.

• tr(M) — возвращает след матрицы M , т. е. сумму элементов на диагонали матрицы M . Это значение равняется сумме собственных значений.

• M , N — квадратные матрицы равного размера, содержащие вещественные или комплексные числа.

• «L» (необязателен) — строка. «L» означает левый собственный вектор, а «R» — правый. По умолчанию используется значение «R» .

• z — собственное значение матрицы M .
Дополнительные сведения

• Во всех этих функциях используются библиотеки Basic Linear Algebra Subprograms (базовые подпрограммы линейной алгебры, BLAS) и Linear Algebra Package (пакет линейной алгебры, LAPACK) компании Intel.

• Чтобы проверить, является ли матрица вырожденной или близкой к ней, используйте число обусловленности.

• Функция eigenvecs использует разные алгоритмы для симметричных матриц и для матриц общего вида. PTC Mathcad может возвращать непредсказуемые результаты, если к несимметричной матрице будут применены методы для симметричных матриц. Например, значение π не является точным, а следовательно sin( π ) не равняется точно нулю, что может привести к нарушению симметрии матрицы.

• Результаты, возвращенные eigenvals и genvals , сортируются в порядке убывания от самого большого до самого малого. Этот порядок сортировки применяется только к вещественным значениям. Если возвращенные значения являются чисто мнимыми, сортировка не имеет смысла.

• Результаты функций eigenvec и eigenvecs могут не совпадать. Для заданного собственного значения существует бесконечное количество собственных векторов, поэтому результирующий вектор зависит от использованного алгоритма. Каждый собственный вектор для конкретного собственного значения является произведением остальных векторов.

Как задать вектор в Mathcad (маткад)?

задаёт трехмерный вектор, все координаты которого равны 3. Элементы вектора можно отделять друг от друга пробелами или запятыми, записи [3 3 3] и [3,3,3] эквивалентны.

Иногда можно применять специальные приёмы для задания вектора (массива). Скажем, массив элементов с равным приращением можно задать так:

В первом случае массив будет содерэать все целые числа от 1 до 10 включительно, во втором — только чётные числа (потому что явно указано приращение — 2).

Как задать вектор в маткаде

задаёт трехмерный вектор, все координаты которого равны 3. Элементы вектора можно отделять друг от друга пробелами или запятыми, записи [3 3 3] и [3,3,3] эквивалентны.

Иногда можно применять специальные приёмы для задания вектора (массива). Скажем, массив элементов с равным приращением можно задать так:

В первом случае массив будет содерэать все целые числа от 1 до 10 включительно, во втором — только чётные числа (потому что явно указано приращение — 2).

Векторы и матрицы в MathCAD

Нижняя граница индексации в MathCAD определена системной переменной ORIGIN. По умолчанию ORIGIN=0. Значение переменной можно переопределить. Например, ORIGIN=1.

Векторы и матрицы в MathCAD можно задавать путем ввода их элементов. Для ввода индекса элемента массива используется символ – [.

Поэлементный ввод массива Х

Вводимые символы Отображаемые символы
X [ 1 Shift+: 5 X1:=5
X [ 2 Shift+: 8 X2:= 8
X [ 3 Shift+: 10 X3:= 10

Поэлементный ввод матрицы А

Вводимые символы Отображаемые символы
A [ 1,1 Shift+: 0.1 A11 := 0.1
A [ 1,2 Shift+: -2.5 A12 := -2.5
A [ 2,1 Shift+: -1.0 A21 := -1.0
A [ 2,2 Shift+: 5.2 A22 := 5.2

Для операций с матрицами и векторами предназначена панель Matrix, которая открывается щелчком по кнопке в панели математических инструментов.

ПанельMatrix содержит следующие кнопки:

– определение размеров матрицы;

– ввод элемента массива ;

– вычисление матрицы, обратной к данной ;

– вычисление определителя матрицы ;

– оператор векторизации (поэлементные операции с векторами и матрицами) ;

– определение столбца матрицы ;

– транспонирование матрицы ;

– определение ранжированной переменной;

– вычисление скалярного произведения векторов;

– вычисление векторного произведения векторов;

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

– визуализация цифровой информации.

Действия, которые необходимо выполнить, чтобы ввести матрицу в рабочий документ при помощи кнопки панели Matrix:

1. Ввести с клавиатуры имя матрицы и знак присваивания;

2. Щелчком по кнопке открыть окно диалога:

3. Определить число строк (Rows) и число столбцов (Columns) будущей матрицы;

4. Закрыть окно диалога, щелкнув по кнопке OK;

5. Ввести элементы матрицы, установив курсор в поле ввода, которое появится справа от знака присваивания:

Функции определения матриц и операции с блоками матриц:

matrix(m,n,f) – создает и заполняет матрицу A= размерности m на n, каждый элемент которой aij равен значению функции f(i,j);

diag(v) – создает диагональную матрицу, элементы главной диагонали которой хранятся в векторе v;

identity(n) – создает единичную матрицу порядка n;

augment(A,B) – из матриц А и В формируется третья матрица, первые столбцыкоторой содержат матрицу А, а последние — матрицу В (матрицы А и В должны иметь одинаковое число строк);

stack(A,B) – из матриц А и В формируется третья матрица, первые строкикоторой содержат матрицу А, а последние — матрицу В (матрицы А и В должны иметь одинаковое число столбцов);

submatrix(A,l,k,p,r) – формирует матрицу, которая является блоком матрицы А, расположенным в строках с l по k и в столбцах с p по r (l, p);

Re(A) – возвращает матрицу (вектор) действительных частей матрицы (вектора) А с комплексными элементами;

Im(A) – возвращает матрицу (вектор) мнимых частей матрицы (вектора) А с комплексными элементами;

Функции вычисления различных числовых характеристик матриц:

last(v) – вычисление номера последнего элемента вектора v;

length(v) – вычисление количества элементов вектора v;

rows(A) – вычисление числа строк в матрице А;

cols(A) – вычисление числа столбцов в матрице А;

max(A) – вычисление наибольшего элемента в матрице (векторе) А;

min(A) – вычисление наименьшего элемента в матрице (векторе) А;

mean(A) – вычисление среднего значения матрицы (вектора) А;

tr(A) – вычисление следа (суммы диагональных элементов) квадратной матрицы А;

ranc(A) – вычисление ранга матрицы А;

Функции, реализующие численные алгоритмы:

rref(A) – приведение матрицы А к ступенчатому виду;

geninv(A) – вычисляет матрицу, левую обратную к матрице А, L∙A=E, где Е – единичная матрица размером n×n, L – прямоугольная матрица размером n×m, А – прямоугольная матрица размером m×n;

lsolve(A,b) – решение системы линейных алгебраических уравнений A∙x=b.

lu(A) – выполняет треугольное разложение матрицы А: A=С∙L∙U, где L и U – соответственно нижняя и верхняя треугольные матрицы, все четыре матрицы квадратные и одного порядка;

qr(A) – выполняет разложение матрицы А: A=Q∙R, где Q – ортогональная матрица, а R – верхняя треугольная матрицы;

cholesky(A) – выполняет разложение матрицы А по схеме Холецкого: А=L∙L T , где А — квадратная, симметричная, положительно определенная матрица, L – треугольная матрица;

sort(v) – сортировка элементов вектора v в порядке возрастания их значений;

reverse(v) – перестановка элементов вектора v в обратном порядке;

csort(A,n) – перестановка строк матрицы А таким образом, чтобы отсортированным оказался n-й столбец;

rsort(A,n) – перестановка столбцов матрицы А таким образом, чтобы отсортированной оказалась n-я строка.

ЗАДАЧА 1. Сформировать матрицу H из элементов матрицы D, исключив третий столбец и вторую строку.

ЗАДАЧА 2. Сформировать матрицу H следующим образом. Первая и последняя строки равны строкам матрицы D, остальные совпадают с матрицей C.

ЗАДАЧА 3. Сформировать матрицу таким образом, чтобы элементы на главной диагонали были равны 1, выше главной диагонали – 2, а ниже – 3.

ЗАДАЧА 4. Элементы матрицы формируются по формуле . Сформировать вектор из максимальных элементов столбцов матрицы А. Найти сумму элементов матрицы, расположенных в четных строках.

ЗАДАЧА 5. Выполнить действия над матрицами А, В, С:

(А Т +В) С.

ЗАДАЧА 6. Решить систему линейных уравнений при помощи правила Крамера:

Для решения поставленной задачи необходимо выполнить следующие действия:

1. Сформировать матрицу системы А и вектор правых частей b.

2. Вычислить главный определитель .

3. Сформировать вспомогательные матрицы (удобно скопировать матрицу А несколько раз и последовательно заменять в ней столбцы на вектор b) для вычисления определителей i;

4. Вычислить определители i;

5. Найти решение системы по формуле xi=∆i/∆.

ЗАДАЧА 7. Решить систему линейных уравнений методом обратной матрицы.

1. Сформировать матрицу коэффициентов и вектор свободных членов системы.

2. Решить систему, представив вектор неизвестных как произведение матрицы, обратной к матрице системы и вектора свободных членов.

ЗАДАЧА 8. Решить систему линейных уравнений методом Гаусса.

Порядок решения задачи:

1. Сформировать матрицу коэффициентов и вектор свободных членов заданной системы.

2. Сформировать расширенную матрицу системы при помощи функции augment(A,b);

3. Используя функцию rref(A), привести расширенную матрицу к ступенчатому виду.

4. Получить решение системы, выделив последний столбец матрицы, полученной в предыдущем пункте.

5. Выполнить проверку Ax-B=0.

ЗАДАЧА 9. Решить систему при помощи функции lsolve:

Пример системы, которая не имеет решений:

Пример системы, которая имеет бесконечное множество решений

ЗАДАЧА 10. Решить систему при помощи решающего блока.

Решающий блок начинается с ключевого слова Given (Дано), которое необходимо ввести с клавиатуры.

Правее и ниже ключевого слова записываются уравнения системы.

Знак равенства в уравнениях вводится при помощи клавиш Ctrl+= или выбирается на панели инструментов Boolean.

Правее и ниже последнего уравнения системы вводится функция Find(x1,x2,…xn) (Найти), в скобках перечисляются имена переменных, значения которых нужно найти.

Численное решение системы можно получить, поставив знак равенства после функции Find(x1,x2,…xn).

Символьное решение получится, если после функции Find(x1,x2,…xn) указать знак стрелки, который находится в панели инструментов Symbolic (Ctrl+.).

MathCAD — это просто! Часть 10. Работа с векторами и матрицами

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

Немного об элементах матриц

Хотя дальше мы будем иметь дело и с векторами, и с матрицами, я краткости ради буду говорить просто «матрица», подразумевая, что под вектором мы будем иметь в виду частный случай матрицы, а именно ту ее разновидность, которая представляет собой одиночный столбец. Если же вектор будет представлять собой строку, то это будет специально оговорено. Впрочем, думаю, до этого дело вряд ли дойдет. С матрицами, вообще говоря, мы с вами работать уже немного умеем. Ну, не то чтобы прямо так вот работать — по крайней мере, вводить их в MathCAD’е мы уже вводили. Тем не менее, думаю, будет не лишним напомнить, что ввести в рабочую область матрицу можно с помощью кнопки Matrix or Vector, расположенной на панели Matrix, либо с помощью сочетания горячих клавиш Ctrl+M. Впрочем, мы с вами пока не затрагивали один небольшой, но крайне важный момент, а именно как обращаться в вычислениях не к матрице целиком, а к отдельным ее элементам. Сделать это, на самом деле, очень просто. Пусть у нас задана квадратная матрица X размером два на два элемента. Верхний левый элемент будет иметь индексы 0,0; нижний правый, соответственно, будет иметь индексы 1,1. То есть, как видите, элементы матрицы нумеруются с нуля. Это, в общем-то, довольно удобно, однако, если для вас привычнее нумеровать их с единицы, или, скажем, с 1024-х, то можно поменять значение встроенной переменной ORIGIN, введя в самом начале документа MatchCAD в строку (без кавычек). Или, соответственно, «ORIGIN := 1024». Можно поменять значение переменной и в окне опций MathCAD’а, выбрав в меню Tools пункт Worksheet options и на вкладке Built-In Variables поменяв значение переменной ORIGIN на нужное вам.

Так вот, вернемся к нашим элементам матрицы. Чтобы «вынуть» из нее первый элемент, нужно написать следующее: X0, 0. Для того, чтобы записать индексы внизу от имени переменной, которая обозначает матрицу, можно воспользоваться кнопкой Subscript со все той же панели инструментов для матричных и векторных вычислений или с клавиатуры перейти в нижний индекс клавишей «[» (русское «х»). Обратите внимание, что для разделения индексов, обозначающих строку и столбец, используется запятая. Элементы матрицы можно не только извлекать из матрицы, заданной таблично. Вы можете задать несколько элементов с соответствующими индексами по ходу вычисления, а после уже MathCAD самостоятельно сформирует из них матрицу (но только когда вы зададите уже все ее элементы — в противном случае незаданным элементам будут присвоены нулевые значения). Вы можете использовать ранжированные переменные для задания элементов матрицы. Временами это бывает не просто удобно, а очень удобно. Так, к примеру, можно задать для матрицы X следующую формулу, описывающую значения каждого ее элемента i-й строки и j-го столбца: Xi, j := i * j. Перед таким определением элементов матрицы остается только определить диапазон, в котором будут изменяться i и j. Я для примера взял значения i := 0..5 и j := 0..5, но вы, конечно же, можете установить любой другой нужный вам диапазон в зависимости от требований вашей задачи, решаемой с помощью матриц в среде MathCAD.

Операции над матрицами

Конечно, у применения матриц в реальных задачах существует множество интересных и не очень аспектов, однако все они рано или поздно упираются в необходимость проведения с матрицами простых алгебраических операций. Проводить их вручную — задача трудоемкая, и можно потратить время с гораздо большей пользой, переложив рутинную работу на MathCAD. Для начала познакомимся с теми функциями, которые собственно никаких математических операций не выполняют, но при этом являются весьма важными в действиях с матрицами. Эти функции позволяют объединять две матрицы в одну (не складывать матрицы, а просто объединять их элементы) и выделять из матрицы другую матрицу. Первая из функций — augment. Она объединяет две матрицы, имеющие одинаковое число строк, таким образом, что из них образуется одна, в которой элементы этих двух располагаются, что называется, «плечом к плечу». В качестве аргументов этой функции нужны только две объединяемые матрицы. Ее аналог для тех матриц, которые имеют одинаковое число столбцов, и должны быть объединены одна над другой, является функция stack. Ее аргументами тоже должны быть две объединяемые матрицы. Функция же, которая не объединяет, а, напротив, «разрезает» матрицы, имеет название submatrix. Для нее нужно указывать имя матрицы, из которой мы хотим выделить подматрицу, и координаты элементов новой матрицы в старой матрице. То есть для того, чтобы вырезать матрицу 4х4 из верхних левых элементов матрицы размером 5х5, нам нужно вызывать эту функцию со следующими параметрами: submatrix(Y, 0, 4, 0, 4). Здесь Y — это, конечно же, имя матрицы размером 5х5 элементов. Демонстрацию использования всех этих функций применительно к конкретным матрицам можно увидеть на соответствующей иллюстрации к статье.

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

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

Еще одной часто выполняемой операцией является вычисление детерминанта, или определителя матрицы. Думаю, что совсем не огорчу вас известием о том, что в MathCAD и с определителями работать так же просто, как и со всем остальным, связанным с матрицами. За его вычисление отвечает кнопка Determinant, расположенная, конечно же, на панели Matrix. Поскольку детерминант в MathCAD’е, как и вообще в линейной алгебре, обозначается с помощью символов прямых черт, ограничивающих матрицу (или имя переменной, ее обозначающей), то вполне логично, что вставить эти самые прямые черты в текст выражения можно с помощью соответствующей клавиши на клавиатуре: Shift + \. Думаю, этой несложной комбинацией будет пользоваться все же удобнее, чем искать каждый раз нужную кнопку на панели инструментов MathCAD’а.

Внешний вид матриц

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

Дело в том, что MathCAD может отображать матрицы не только в привычном всем виде чисел, заключенных в скобки, но и в виде таблиц. Если вы используете этот математический пакет для каких-либо статистических расчетов и при этом работаете с большими массивами данных, то, безусловно, такое отображение матриц будет более предпочтительным для вас, чем традиционное. Для изменения способа отображения матриц дважды кликните по нужной матрице и в появившемся окне перейдите на вкладку Display Options. Далее в поле Matrix display style выберите значение Table. Матрица приобретет вид точно такой, как на соответствующей иллюстрации к этой статье.

Внешний вид таблицы можно также настроить далее, кликнув по ней правой кнопкой мыши и выбрав пункт Properties. В появившемся окне можно снять птичку с пункта Show column/row labels, чтобы убрать отображение нумерации строк и столбцов в матрице, представляемой в виде таблицы. На вкладке Data Range можно выбрать диапазон отображаемых строк и столбцов матрицы, что также полезно для матриц, содержащих большое количество элементов.

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

SF, spaceflyer@tut.by

Компьютерная газета. Статья была опубликована в номере 23 за 2008 год в рубрике soft

Похожие публикации:

  1. Как отвязать mi band 4 от телефона без телефона
  2. Как отключить поиск в адресной строке chrome
  3. Как открыть файл exe на айфоне
  4. Как перевести текст в кривые в индизайне

Как задать вектор в mathcad

задаёт трехмерный вектор, все координаты которого равны 3. Элементы вектора можно отделять друг от друга пробелами или запятыми, записи [3 3 3] и [3,3,3] эквивалентны.

Иногда можно применять специальные приёмы для задания вектора (массива). Скажем, массив элементов с равным приращением можно задать так:

В первом случае массив будет содерэать все целые числа от 1 до 10 включительно, во втором — только чётные числа (потому что явно указано приращение — 2).

Справа от оператора присваивания вызвать диалог Insert Matrix (Ctrl+M) и выбрать количество столбиков 1 и нужное количество строк, затем заполнить плэйсхолдеры в этом векторе нужными числами (выражениями, функциями и т.д.) Или можно использовать функцию чтения из файла READPRN

Это не совсем так, с хакерами в России активно и целенаправленно борются по причине некоторой параноидальности российских властей. Поэтому национальное хакерстово либо не может полностью войти в цвет, либо хорошо и глубоко шифруется. Хакерство процветает там, где с ним не очень активно борются. Один мой знакомый, старый-престарый админ говорил, что лучшие хакеры как ни странно поляки, но сам я подтверждений этому не видел. Сам я был свидетелем атак из Скандинавии (Швеция, Норвегия), но не факт, что это делали местные, из Прибалтики также, но кто там все это делал, неизвестно. Есть мнение, что в этом преуспели китайцы и индусы, но это тоже только теория. Россияне вообще талантливы по части маргинала, но назвать их лучшими все будет не совсем правильно, так как по этому нет какой-либо достоверной статистики. Если об этом кричат американцы, это еще ничего не значит.

Лично меня сначала заинтересовал язык разметки html. Ну это так — сайт-визитка без ни какой обратной связи кроме ссылки «Контакты», на то он и визитка. После дали более серьезную задачу на интернет-магазин. Там мне пришлось освоить минимальные азы PHP, а он практически бесполезен без взаимодействия с БД, я использовал MySQL, то же азы (а может и вовсе PHP бесполезен без БД, не проверял). Ну а для красоты нет равных, чем CSS. Ну я всяко будут очень полезны знания в области Photoshop.

А захочешь что-то посерьезнее, то там уже ООП (объектно-ориентированное программирование) надо знать, а то и более серьезные языки. Ну а для начала тебе и этого на год хватит.

Ну а в первую очередь знай знай синтаксис (прямые ручки везде нужны), нельзя использовать велосипед не зная что это такое, для чего нудно и как работает!

Онлайн игры (без установки) в большинстве линуксов идут без проблем, если вы собираетесь устанавливать более современные игры под Windows, то придётся учиться устанавливать пакеты вручную, само по себе это не сложно, вся проблема подымется когда возникнет необходимость решать зависимости и возможно, кое что дописывать самостоятельно. Аркадные игры (карты, шахматы,головоломки. ) установлены по умолчанию.

Вы можете различные дистрибутивы Линуксов запустить без установки и не заморачиваясь с делениями диска, проверить и ознакомиться, но работать они будут медленнее, чем с установкой, сама установка очень простая.

Работать и обновляться система будет прямо с «коробки», есть много программ которые можно выбрать установить или удалить просто нажав на выбор, если вам будет достаточно этих программ, то проблем возникнуть не должно.

На счёт выбора дистрибутива, сам сижу на Debian, но для начала всем советую Runtu. Почитайте на их форуме и поймёте почему (сайт: runtu.ru ).

При выборе учитывайте: есть две основные графические оболочки OC, это GNOME и KDE, но самая лёгкая и быстрая xfce, специально для слабеньких ПК, но там может быть больше зависимостей при экспериментальных установках.

Вам нужен дистрибутив не «amd64», а «i386».

Можно учиться самому. Я занимался сам олимпиадным программированием еще когда учился в школе. После этого пошел в ВУЗ и ничего нового там за первые 3 (из 4) года не узнал. На самом деле, более продуктивно было бы и следующие 4 года заниматься самому (с книжками, конечно).

Можно пойти в ВУЗ. Научат или нет — зависит от ВУЗа, а скорее даже кафедры (сейчас я чуть-чуть работаю в ВУЗе (для души) и точно знаю, что многие не учат — именно поэтому за 3 года обучения иногда можно лишь повторить школьный курс). Опять же, если вы не будете учиться в ВУЗе сами (дополнительно), то после окончания вряд-ли устроитесь на работу по специальности. Зато в ВУЗе научат русскому языку, философии, культурологии, истории и многому другому.

Можно окончить курсы, но 99% попадете на лохотрон (будут учить и что-то с умным видом рассказывать, но сами лекторы очень часто ничего не понимают). Вот вчера на форуме обсуждалась тема курсов: ссылка (учтите, что автор топика проходит ПЛАТНЫЕ курсы, а есть еще и бесплатные — там вообще зоопарк часто). Если и проходить курсы — то от работодателя (у крупных контор бывают бесплатные курсы — по факту это что-то типа стажировки, где вы учитесь программированию, а работодатель отбирает самых смекалистых).

Можно нанять репетитора. Если репетитор является программистом (чего можно только пожелать 70% преподавателей ВУЗов и, тем более, курсов) и вы будете сами читать книжки, а не только на него надеяться — эффекта будет гораздо больше.

Spotify вновь попытается начать работу в России

Музыкальный сервис Spotify задумывается о возвращении в Россию, где однажды уже чуть не начал работу. Об этом сообщила газета «Ведомости» со ссылкой на свои источники.

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

По словам источника «Ведомостей», сотрудника звукозаписывающей компании, успех сервиса в России будет зависит от способности Spotify составить конкуренцию таким сервисам как Apple Music, Google Play, «Яндекс.Музыка» и Deezer.

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

Spotify, основанный осенью 2008 года, к настоящему моменту работает в большинстве стран Америки, Европы и некоторых странах Азии. Доступны два варианта прослушивания музыки из обширного каталога: бесплатно (в среднем качестве звука и с перерывами на рекламу) и платно (высокое качество звука, без рекламы, можно сохранять музыку для прослушивания офлайн). У Spotify более 100 млн пользователей, 30 млн из которых выбрали платную подписку.

Обработка векторов и матриц в MathCad, примеры

Создать матрицу можно с помощью шаблона командой Вставка — Матрица, щелчком на кнопке панели векторов и матриц. В появившемся окне задать размерность массива, нажать ОК, а затем ввести элементы массива;

Обращение к элементам матрицы M, вектора V:

Mномер строки, номер столбца>

Работа с массивами выполняется с помощью инструментов панели Матрица.

Создание программных фрагментов в MathCad, примеры

Для создания программного фрагмента используется панель программирования, кнопки которой имеют следующее назначение:

Add Line — создание и расширение программного фрагмента;

¬ оператор внутреннего локального присваивания.

if — оператор условия.

for — оператор цикла с заданным числом повторений.

while оператор цикла с предусловием.

оtherwise — оператор «иначе», обычно используется совместно с if для выполнения действий в случаи невыполнения условия.

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

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

Создание двумерных графиков в MathCad, графики кусочно-непрерывных функций

Редактирование и форматирование графиков в MathCad

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

При построении двумерных графиков после нажатия соответствующей кнопки на панели графических инструментов появляется шаблон вида:

Функция

При форматировании линий графика выбирается закладка Traces в окне форматирования.

Обработка внешних файлов в Mathcad

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

13. Символьные вычисления в MathCad

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

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

ПОСТРОЕНИЕ ВЕКТОРНЫХ ПОЛЕЙ

Вектор — совокупность скалярных величин (координат вектора). Векторы могут быть 2, 3 и более числа измерений.

Геометрическая интерпретация вектора — «направленный отрезок» из начала системы координат в точку, задаваемую координатами вектора.

Для вставки вектора в MathCAD используйте сочетание клавиш Ctrl-M. В появившемся диалоге укажите желаемое число строк (измерений), и столбцов (в случае вектора — это всегда единица). Вектор может участвовать в операциях, аналогично скалярным величинам. Следующий пример показывает, как задать вектор, выяснить его значение и значения отдельных компонент. Для обращения к отдельной компоненте после имени вектора нажмите клавишу [ (открывающая квадратная скобка). Обратите внимание, что компоненты вектора нумеруются с нуля (это можно изменить с помощью установки системной переменной ORIGIN).

Ряд авторов справедливо считает, что объемные 3D графики имеют

скорее демонстрационный эффект, чем практическую ценность визуализации «серьёзных» расчетов. Сложный расчет иллюстрируется, как правило, несложными «плоскими» графиками, показывающими основные закономерности и характерные точки расчета. С этой точки зрения преимущества перед трехмерными графиками поверхностей имеют двумерные контурные графики линий уровня — Contour Plot и графики векторных полей — Vector Field Plot.

В графиках векторного поля каждой точке плоскости поставлен в соответствие двумерный вектор. Для создания графика векторного поля нужно создать прямоугольный массив точек и сопоставить каждой точке вектор. Это можно сделать, создав матрицу комплексных чисел, в которой:

  • — номера строк и столбцов используются для определения координат соответствующей точки плоскости.
  • — вещественная часть каждого элемента матрицы представляет собой x — компоненту вектора, связанного с данной точкой плоскости.
  • — мнимая часть каждого элемента представляет собой y — компоненту вектора, связанного с данной точкой плоскости.

Для создания графика векторного поля:

  • — создайте матрицу, как было описано выше.
  • — выберите Векторное поле из меню Графика. Mathcad выдаст окно с полем ввода.
  • — напечатайте имя матрицы в поле ввода.

Mathcad не будет обрабатывать график векторного поля, если не нажать [F9], или, в автоматическом режиме, не щёлкнуть мышью вне выделенной графической области.

При построении графика матрица ориентируется таким образом, что её (0.0) элемент соответствует нижнему левому углу графика, строки матрицы соответствуют постоянным значениям по оси ординат, а столбцы соответствуют постоянным значениям по оси абсцисс.

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

Можно также создать график векторного поля, используя две матрицы вещественных чисел, а не одну комплексную матрицу. Обе матрицы должны иметь одинаковый размер. Первая матрица должна содержать x, вторая — y компоненты векторов. На Рисунке 3 показано такое же векторное поле, как и на Рисунке 2, но созданное при помощи двух вещественнозначных матриц, а не одной комплексной матрицы.

Можно определить надписи и линии сетки, которые должны быть показаны на осях, изменяя формат графика векторного поля.

MathCAD — это просто! Часть 10. Работа с векторами и матрицами

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

Немного об элементах матриц

Хотя дальше мы будем иметь дело и с векторами, и с матрицами, я краткости ради буду говорить просто «матрица», подразумевая, что под вектором мы будем иметь в виду частный случай матрицы, а именно ту ее разновидность, которая представляет собой одиночный столбец. Если же вектор будет представлять собой строку, то это будет специально оговорено. Впрочем, думаю, до этого дело вряд ли дойдет. С матрицами, вообще говоря, мы с вами работать уже немного умеем. Ну, не то чтобы прямо так вот работать — по крайней мере, вводить их в MathCAD’е мы уже вводили. Тем не менее, думаю, будет не лишним напомнить, что ввести в рабочую область матрицу можно с помощью кнопки Matrix or Vector, расположенной на панели Matrix, либо с помощью сочетания горячих клавиш Ctrl+M. Впрочем, мы с вами пока не затрагивали один небольшой, но крайне важный момент, а именно как обращаться в вычислениях не к матрице целиком, а к отдельным ее элементам. Сделать это, на самом деле, очень просто. Пусть у нас задана квадратная матрица X размером два на два элемента. Верхний левый элемент будет иметь индексы 0,0; нижний правый, соответственно, будет иметь индексы 1,1. То есть, как видите, элементы матрицы нумеруются с нуля. Это, в общем-то, довольно удобно, однако, если для вас привычнее нумеровать их с единицы, или, скажем, с 1024-х, то можно поменять значение встроенной переменной ORIGIN, введя в самом начале документа MatchCAD в строку (без кавычек). Или, соответственно, «ORIGIN := 1024». Можно поменять значение переменной и в окне опций MathCAD’а, выбрав в меню Tools пункт Worksheet options и на вкладке Built-In Variables поменяв значение переменной ORIGIN на нужное вам.

Так вот, вернемся к нашим элементам матрицы. Чтобы «вынуть» из нее первый элемент, нужно написать следующее: X0, 0. Для того, чтобы записать индексы внизу от имени переменной, которая обозначает матрицу, можно воспользоваться кнопкой Subscript со все той же панели инструментов для матричных и векторных вычислений или с клавиатуры перейти в нижний индекс клавишей «[» (русское «х»). Обратите внимание, что для разделения индексов, обозначающих строку и столбец, используется запятая. Элементы матрицы можно не только извлекать из матрицы, заданной таблично. Вы можете задать несколько элементов с соответствующими индексами по ходу вычисления, а после уже MathCAD самостоятельно сформирует из них матрицу (но только когда вы зададите уже все ее элементы — в противном случае незаданным элементам будут присвоены нулевые значения). Вы можете использовать ранжированные переменные для задания элементов матрицы. Временами это бывает не просто удобно, а очень удобно. Так, к примеру, можно задать для матрицы X следующую формулу, описывающую значения каждого ее элемента i-й строки и j-го столбца: Xi, j := i * j. Перед таким определением элементов матрицы остается только определить диапазон, в котором будут изменяться i и j. Я для примера взял значения i := 0..5 и j := 0..5, но вы, конечно же, можете установить любой другой нужный вам диапазон в зависимости от требований вашей задачи, решаемой с помощью матриц в среде MathCAD.

Операции над матрицами

Конечно, у применения матриц в реальных задачах существует множество интересных и не очень аспектов, однако все они рано или поздно упираются в необходимость проведения с матрицами простых алгебраических операций. Проводить их вручную — задача трудоемкая, и можно потратить время с гораздо большей пользой, переложив рутинную работу на MathCAD. Для начала познакомимся с теми функциями, которые собственно никаких математических операций не выполняют, но при этом являются весьма важными в действиях с матрицами. Эти функции позволяют объединять две матрицы в одну (не складывать матрицы, а просто объединять их элементы) и выделять из матрицы другую матрицу. Первая из функций — augment. Она объединяет две матрицы, имеющие одинаковое число строк, таким образом, что из них образуется одна, в которой элементы этих двух располагаются, что называется, «плечом к плечу». В качестве аргументов этой функции нужны только две объединяемые матрицы. Ее аналог для тех матриц, которые имеют одинаковое число столбцов, и должны быть объединены одна над другой, является функция stack. Ее аргументами тоже должны быть две объединяемые матрицы. Функция же, которая не объединяет, а, напротив, «разрезает» матрицы, имеет название submatrix. Для нее нужно указывать имя матрицы, из которой мы хотим выделить подматрицу, и координаты элементов новой матрицы в старой матрице. То есть для того, чтобы вырезать матрицу 4х4 из верхних левых элементов матрицы размером 5х5, нам нужно вызывать эту функцию со следующими параметрами: submatrix(Y, 0, 4, 0, 4). Здесь Y — это, конечно же, имя матрицы размером 5х5 элементов. Демонстрацию использования всех этих функций применительно к конкретным матрицам можно увидеть на соответствующей иллюстрации к статье.

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

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

Еще одной часто выполняемой операцией является вычисление детерминанта, или определителя матрицы. Думаю, что совсем не огорчу вас известием о том, что в MathCAD и с определителями работать так же просто, как и со всем остальным, связанным с матрицами. За его вычисление отвечает кнопка Determinant, расположенная, конечно же, на панели Matrix. Поскольку детерминант в MathCAD’е, как и вообще в линейной алгебре, обозначается с помощью символов прямых черт, ограничивающих матрицу (или имя переменной, ее обозначающей), то вполне логично, что вставить эти самые прямые черты в текст выражения можно с помощью соответствующей клавиши на клавиатуре: Shift + \. Думаю, этой несложной комбинацией будет пользоваться все же удобнее, чем искать каждый раз нужную кнопку на панели инструментов MathCAD’а.

Внешний вид матриц

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

Дело в том, что MathCAD может отображать матрицы не только в привычном всем виде чисел, заключенных в скобки, но и в виде таблиц. Если вы используете этот математический пакет для каких-либо статистических расчетов и при этом работаете с большими массивами данных, то, безусловно, такое отображение матриц будет более предпочтительным для вас, чем традиционное. Для изменения способа отображения матриц дважды кликните по нужной матрице и в появившемся окне перейдите на вкладку Display Options. Далее в поле Matrix display style выберите значение Table. Матрица приобретет вид точно такой, как на соответствующей иллюстрации к этой статье.

Внешний вид таблицы можно также настроить далее, кликнув по ней правой кнопкой мыши и выбрав пункт Properties. В появившемся окне можно снять птичку с пункта Show column/row labels, чтобы убрать отображение нумерации строк и столбцов в матрице, представляемой в виде таблицы. На вкладке Data Range можно выбрать диапазон отображаемых строк и столбцов матрицы, что также полезно для матриц, содержащих большое количество элементов.

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

SF, spaceflyer@tut.by

Компьютерная газета. Статья была опубликована в номере 23 за 2008 год в рубрике soft

Похожие публикации:

  1. Где брать стикеры в telegram для телеграмма
  2. Где находится windows live movie maker
  3. Для чего нужен telegram
  4. Как быстро успеть betscsgo промокод на telegram

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *