
- •Содержание
- •1. Использование системы Microwave Office для решения задач радиофизики 6
- •2. Использование программной среды hfss для решения задач радиофизики 55
- •3. Использование системы matlab для решения задач радиофизики 64
- •Введение Общие требования к выполнению лабораторных работ
- •Основные рекомендации по использованию инструктивно-методических материалов
- •1. Использование системы Microwave Office для решения задач радиофизики Основные сведения о системе Microwave Office
- •Элементы пользовательского интерфейса программной среды Microwave Office
- •Основы работы в Microwave Office
- •Лабораторная работа № 1.1 Анализ пассивных цепей на основе сосредоточенных элементов в среде Microwave Office Задания к работе
- •Пояснения к работе
- •9 Баллов
- •Пояснения к работе
- •12 Баллов
- •Пояснения к работе
- •17 Баллов
- •Пояснения к работе
- •14 Баллов
- •Пояснения к работе
- •20 Баллов
- •Лабораторная работа № 2.1 Проектирование волноводного делителя средствами hfss Задания к работе
- •Пояснения к работе
- •18 Баллов
- •Программные единицы matlab
- •Символы и знаки matlab
- •Основные операторы и команды matlab
- •Ввод-вывод данных matlab
- •Математические функции matlab
- •Операции с матрицами в matlab
- •Графические функции matlab
- •2D графики.
- •2D графики 3d данных.
- •3D графики.
- •Вспомогательные графические функции matlab
- •Функции обработки звука matlab
- •Вспомогательные команды и функции matlab
- •Символьная математика matlab
- •Работа в среде matlab
- •Лабораторная работа № 3.1 Расчет полей в прямоугольном резонаторе средствами matlab Задания к работе
- •Варианты заданий
- •Пояснения к работе
- •7 Баллов
- •Пояснения к работе
- •5 Баллов
- •Пояснения к работе
- •Максимальное число баллов за работу
- •Литература
Символы и знаки matlab
В языке MATLAB используются следующие специальные знаки и символы:
+ – плюс;
- – минус;
* – умножение матриц (число столбцов М1 должно равняться числу строк М2)
.* – поэлементное умножение массивов (размерности М1 и M2 должны быть одинаковыми;
: – двоеточие (for, обращение к части массива, векторизация и т.д.);
^ – возведение матрицы в степень;
.^ – возведение в степень массива чисел;
/ – слэш или правое деление;
\ – обратный слэш или левое деление;
./ – поэлементное деление массива чисел;
kron – символ Кронекера;
() – круглые скобки (последовательность выполнения операций);
[] – квадратные скобки (формирование массива);
{} – формирование многомерного массива;
. – десятичная запятая;
.. – директория предыдущего уровня;
... – продолжение строки;
, – запятая (разделитель операторов);
; – точка с запятой (разделитель операторов);
% – комментарий;
! – восклицательный знак (признак команды операционной системы);
' – текстовая константа, транспонирование матрицы;
= – оператор присваивания;
>, <, >=, <=, ==, ~= – знаки отношений;
& – логическое И;
| – логическое ИЛИ;
~ – логическое НЕ;
xor – логическое ИСКЛЮЧАЮЩЕЕ ИЛИ.
Основные операторы и команды matlab
MATLAB включает в себя большое количество команд и операторов. Практически в любой программе используются операторы цикла, условные, ввода-вывода, открытия и закрытия файла и некоторые другие. От правильности их использования во многом зависит эффективность программы. Поэтому рассмотрим их подробно.
Операторы цикла.
В MATLAB существует два оператора цикла.
Первый тип:
for X = Xнач:dX:Xкон
<тело цикла>
end;
Цикл выполняется от X = Xнач до X = Xкон с шагом dX. Это происходит следующим образом: в соответствии со значениями Xнач, Xкон, dX вычисляется число проходов цикла N, которые затем и выполняются. Поэтому изменение Xнач, Xкон, dX внутри цикла не влияет на число проходов цикла.
В цикле for ... end переменная цикла может быть не только скаляром, но и вектором. Пусть имеется матрица А размерностью m на n. В этом случае цикл может иметь вид:
for i = A, ... end;
Этот цикл будет выполняться n раз (количество столбцов матрицы А), причем на каждом шаге i – вектор, содержащий один столбец матрицы А. Таким образом, на шаге k i = A(:,k).
Первый тип:
while <условие>
<тело цикла>
end;
Цикл выполняется до тех пор, пока выполняется условие. Если при старте цикла условие не выполняется (для обоих типов цикла), то тело цикла пропускается.
Досрочный выход из циклов FOR и WHILE осуществляет оператор BREAK. Если несколько циклов вложены, то выход происходит из самого внутреннего цикла.
Условный оператор.
Условный оператор имеет вид (допускается использование составных операторов):
if <условие> if <условие 1>,
<группа операторов 1>; <группа операторов 1>;
else elseif <условие 2>
<группа операторов 2>; <группа операторов 2>;
end; else
<группа операторов 3>;
end;
В <условии> обычно используются элементы сравнения == | < | > | <= | >= | ~= Следует обратить внимание, что оператор присваивания имеет вид < = >, а равенство – < = = >. Так, A = B; но if A = = B,
Допускается сокращенная форма условного оператора. Оператор if X, эквивалентен if X ~= 0.
Переключатель.
Общая форма:
switch <выражение switch>
case <выражение1 case>,
инструкция,...,инструкция
case <выражение2 case>,
инструкция,...,инструкция
.......
otherwise,
инструкция,...,инструкция
end
Выполняются инструкции первого case, для которого
<выражение case> = = <выражение switch>
Если ни одно из выражений case не соответствует выражению switch, выполняются инструкции otherwise (если они существуют). При этом <выражение switch> может быть скалярной переменной или строчной.
Инструкция try.
Общий вид инструкции TRY:
TRY, инструкция,...,инструкция, CATCH, инструкция,...,инструкция, END
Обычно выполняются только инструкции между TRY и CATCH. Однако если произошла ошибка при их выполнении, то выполняются инструкции между CATCH и END, а сама ошибка заносится в LASTERR.
Двоеточие (:).
Двоеточие (:) – это один из самых важных операторов MATLAB. Он выполняет различные функции:
1) Разделитель в операторе цикла (см. ОПЕРАТОР ЦИКЛА).
2) Получение вектора-строки действительных чисел.
Рассмотрим это на примерах:
Выражение Результат
D=1:5 D = [1 2 3 4 5]
D=10:-1:4 D = [10 9 8 7 6 5 4]
D=0:2*pi:20 D = [0 6.28 12.56 18.84]
3) Обращение к части матрицы.
B = A(1:k,j) – формируется матрица В, состоящая из первых k элементов j-го столбца матрицы А.
В = sum(A(1:4,5)) – сумма первых четырех элементов пятого столбца матрицы А.
4) Векторизация. Это способ повышения быстродействия и упрощения программы.
Так как MATLAB оптимизирован для работы с матрицами, то для повышения быстродействия везде, где это возможно, необходимо векторизовать выражения. Особенно эффективна векторизация при написании циклов. Рассмотрим, например программу создания таблицы логарифмов:
Обычный цикл. Векторизованный цикл.
x = 0; x = 0:0.1:10;
for k = 1:100, y = log(x);
y(k) = log(x);
x = x+0.1;
end;