Кирьянов Д. - MathCad 11 (1077323), страница 19
Текст из файла (страница 19)
Тем не менее, позволяется складывать, например, амперы с килоамперами (см. рис. 4.9).Глава 4. Типы данных101:=10-АU:=12-vR= 1.2 ohmR- 1.2 kg m 2 s~ 3 A"[ Т Kg units intris expression do ndrcia'ch. |Рис. 4.6. Нельзя складыватьпеременные разной размерностиРис. 4.7. Изменение единицизмерения в ответеНад размерными переменными можно производить любые корректные сфизической точки зрения расчеты. Пример расчета сопротивления черезотношение напряжения к току приведен в листинге 4.8.Листинг 4.8.
Расчеты с рсI :== 10 •и:== 12 •иR:=IR == 1.2:АVk g m2S-3-2АОбратите внимание, что результат в листинге 4.8 выдан не в омах. Тем неменее, легко перевести его в омы, как и в другие единицы. Для этого достаточно дважды щелкнуть на местозаполнителе, присутствующем после вычисленного значения формулы в момент, когда она выделена (рис. 4.7, внизу). В результате появляется то же самое диалоговое окно Insert Unit(Вставка единицы измерений), в котором можно поменять единицу измерений вычисленного ответа. В результате ответ будет пересчитан в соответствии с вновь введенной единицей измерения (как сделано для верхней формулы на рис. 4.7).ПримечаниеМожно включить автоматический перевод единиц измерения в более простые единицы.
Для этого перейдите в диалоговое окно Result Format (Формат результата)на вкладку, посвященную размерностям, с помощью команды Format / Result / UnitDisplay (Формат/ Результат/ Отображение размерности). Установите в ней флажок Simplify units when possible (Упрощать единицы, когда это возможно).Процесс смены единиц в момент их выбора в диалоге Insert Unit (Вставкаединицы измерений) показан на рис. 4.8. В результате приведенного выборавыведенное в амперах значение силы тока будет изменено на значениев килоамперах: 1.01 КА.Часть I.
Общие сведения10210-А+ кА= 1.01 х 103XQimensiotiAngulaiAreaCapactianceChagieConductanceSystem^1 FOK |Kilcamp;[kA]Microampj [mci roamp]Mil almp 5 [mA]Рис. 4 . 8 . Сложение переменных одной размерности,выраженных в разных единицах4.2.3. Выбор системы единицКак легко заметить, во всех примерах этого раздела вставлялись единицысистемы измерения SI.
Об этом можно было судить как по перечню самихединиц, так и по недоступному списку System (Система) в диалоге Insert Unit (Вставка единицы измерений) с выбранным пунктом SI. Сменитьсистему единиц во всем документе можно, выполнив команду Tools /Document Options (Сервис / Опции документа) и переходя на вкладку UnitSystem (Система единиц).
В ней следует выбрать один из переключателей,соответствующий желаемой системе.4.2.4. Определение новой размерностиЧтобы определить новую (пользовательскую) единицу измерения, достаточно присвоить ее выражение через используемые размерности переменной ссоответствующим именем. Пример создания новой единицы измерения"наноампер" приведен в листинге 4.9.Листинг 4.9. Определение новой единицы измерения- 9пА := 10-А3 • А = 3 X 1 0 пАСозданные пользователем единицы измерения недоступны в диалоговомокне Insert Unit (Вставка единицы измерений), поэтому их приходится вво-Глава 4. Типы данных103дить вручную с клавиатуры (как это сделано для новой единицы ПА ВО второй строке листинга 4.9).4.3.
МассивыМассивами (arrays) называют упорядоченные последовательности чисел илиэлементов массива. Доступ к любому элементу массива возможен по его индексу, т. е. номеру в последовательности чисел (в листинге 4.10 а — это массив, а г — его элемент). Применение массивов чрезвычайно эффективно вматематических расчетах.Листинг 4.10.
Одномерный массив (вектор)141.44.7а1 = 1.4В Mathcad условно выделяются два типа массивов:Пвекторы (одноиндексные массивы, листинг 4.10), матрицы (двухиндексные, листинг 4.11) и тензоры (многоиндексные);П ранжированные переменные (range variables) — векторы, элементы которых определенным образом зависят от их индекса.Листинг 4.11. Двумерный массив (матрица)0.12.83.70,0 = 0 . 1,0 = 3.74.3.1. Доступ к элементам массиваДоступ ко всему массиву осуществляется по имени векторной переменной.Например, последовательность символов "а", " = " в листингах 4.10 и 4.11приведет к выводу соответствующего вектора или матрицы.
В Mathcad имеются и операторы, и встроенные функции, которые действуют на векторы иматрицы целиком (они рассматриваются в гл. 9), например, транспонирование, матричное умножение и т. д.104Часть I, Общие сведенияНад элементами массива можно совершать действия как над обычнымичислами.
Нужно только правильно задать соответствующий индекс или сочетание индексов массива. Например, чтобы получить доступ к нулевомуэлементу вектора а из листинга 4.10:1. Введите имя переменной массива (а).2. Нажмите кнопку Subscript (Нижний индекс) со значком х п на панелиMatrix (Матрица) либо введите [.3. В появившийся справа снизу от имени массива местозаполнитель введите желаемый индекс (о).Если после этого ввести знак численного вывода, то справа от него появится значение нулевого элемента вектора, как показано во второй строке листинга 4.10.Чтобы получить доступ к элементу многоиндексного массива (напримерэлементу а 1 г 0 матрицы а из листинга 4.11):1.
Введите имя переменной массива (а).2. Перейдите к вводу нижнего индекса, введя [.3. Введите в местозаполнитель индекса первый индекс (l), запятую "," ив появившийся после запятой местозаполнитель введите второй индекс (о).В результате будет получен доступ к элементу, как показано в предпоследней строке листинга 4.11.В рассмотренных листингах нумерация индексов массивов начинается с нуля, иными словами, первый элемент массива имеет индекс о.
Стартовыйиндекс массива задается системной переменной ORIGIN, которая по умолчанию равна нулю. Если Вы привыкли нумеровать элементы векторов и матриц с единицы, присвойте этой переменной значение 1 (листинг 4.12). Обратите внимание, что в этом случае попытка выяснить значение нулевогоэлемента вектора приводит к ошибке, поскольку его значение не определено.Помимо доступа к отдельным элементам массива, имеется возможность совершать действия над его подмассивами (например векторами-столбцами,образующими матрицу). Делается это с помощью оператора со значком х °на панели Matrix (Матрица) (см.
гл. 9).Листинг 4.12. Изменение нумерации индексов массивовORIGIN : = 1' 1 4 "la :=1. 44. 7Глава 4. Типы данныхаа1 =31051 4= 4.74.3.2. Ранжированные переменныеРанжированные переменные в Mathcad являются разновидностью векторови предназначены, главным образом, для создания циклов или итерационныхвычислений. Простейший пример ранжированной переменной — это массив с числами, лежащими в некотором диапазоне с некоторым шагом.Например, для создания ранжированной переменной s с элементами0,1,2,3,4,5:1.
Поместите курсор ввода в нужное место документа.2. Введите имя переменной (s) и оператор присваивания ":".3. Нажмите кнопку Range Variable (Ранжированная переменная) на панелиMatrix (Матрица), показанную на рис. 4.9, либо введите символ точки сзапятой с клавиатуры.4. В появившиеся местозаполнители (рис. 4.9) введите левую и правую границы диапазона изменения ранжированной переменной о и 5.Рис. 4.9. Создание ранжированнойпеременнойРезультат создания ранжированной переменной показан на рис.
4.10.Чтобы создать ранжированную переменную с шагом, не равным i, например, 0,2,4,6,8:1. Создайте ранжированную переменную в диапазоне от о до 8 (см.рис. 4.9).2. Поместите линии ввода на значение начала диапазона (о).3. Введите запятую.4. В появившийся местозаполнитель (рис. 4.11) введите значение шага изменения ранжированной переменной (2).Созданная ранжированная переменная будет иметь значения от о до 8включительно, с шагом, равным 2.Часть I. Общие сведения106з := 0..
5S~12~О.±.Рис. 4.10. Вывод ранжированнойпеременной5Рис. 4.11. Создание ранжированнойпеременной с шагом, не равным 1Чаше всего ранжированные переменные используются:П при параллельных вычислениях (листинги 4.13 и 4.14);• для присвоения значений элементам других массивов (листинги 4.14и 4.15).Обратите внимание на типичный пример использования ранжированнойпеременной из листингов 4.13 и 4.14. Большинство математических действий, реализованных в Mathcad, совершаются над ранжированными переменными точно так же, как над обычными числами.
В этом случае одно ито же действие осуществляется параллельно над всеми элементами ранжированной переменной.Листинг 4.13. Ранжированная переменная при параллельных вычисленияхi := 0 , 2 ..s (i) : = i ;i 0.841-0.959-0.961-0.6440.827ПримечаниеПараллельные вычисления производятся точно так же и над произвольнымивекторами, не обязательно являющимися ранжированными переменными. Например, можно определить в листинге 4.14 вектор i, подобно вектору из листинга 4.10, и провести те же параллельные вычисления над его элементами.Глава 4. Типы данных107Листинг 4.14. Ранжированная переменная при параллельных вычисленияхi := 0 ..
50.841 >0.909(1251017sin (s) =-0.959-0.544-0.961260.763Листинг 4.15. Использование ранжированной переменнойдля определения матрицыj :=o.c-1./0 1 21 2345345 623456 7345678Внимание!Определяя массив с помощью ранжированных переменных (листинги 4.14и 4,15), позаботьтесь о том, чтобы их значения пробегали все необходимыеиндексы массива. Например, если задать шаг изменения ранжированнойпеременной, равный 2, то половина элементов вектора будет неопределена.Помните о том, что ранжированные переменные — просто разновидностивекторов с упрощенной формой задания элементов. Часто необходимо провести одни и те же вычисления циклически, большое количество раз, например, вычисление некоторой функции f (х) в некотором диапазоне х дляпостроения подробного графика. Задание вручную всех значений аргумента{наподобие вектора из листинга 4.10) очень трудоемко, а с помощью задания ранжированной переменной х это делается в одну строку.108Часть I.
Общие сведения4.3.3. Создание массивовСуществует несколько способов создания массива:•ввод всех элементов вручную с помощью команды Insert Matrix;•определение отдельных элементов массива;П создание таблицы данных и ввод в нее чисел;• применение встроенных функций создания массива (см. гл. 9)\Осоздание связи с другим приложением, например Excel или MATLAB;•чтение из внешнего файла данных;П импорт из внешнего файла данных.Рассмотрим основные способы создания массива, учитывая, что две последних возможности будут разобраны в последней части книги Применяйте способ, который оптимален в смысле простоты и читаемости конкретного документа, либо ставший наиболее для Вас привычным.Создание матрицы командой Insert MatrixСамый простой и наглядный способ создания вектора или матрицы заключается в следующем:1.