
- •Содержание
- •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 функциями, оформляются также в виде m-файлов. Первой строкой такого файла является строка, определяющая синтаксис данной функции. Например, имеется функция с именем fun1.m. Первая строка этой функции имеет вид:
function [A1,A2,...] = fun1(B1,B2,...)
Здесь: function – ключевое слово, указывающее, что программа является функцией; fun1 – имя данной функции; A1,A2,... – выходные параметры функции; B1,B2,... – входные параметры функции.
Если выходной параметр один, то [ ] можно опустить. Один m-файл может содержать функцию и несколько подфункций. Подфункция имеет такую же структуру, как и функция, но может вызываться только функцией или подфункциями, находящимися в этом же m-файле.
Возврат из функции (подфункции) происходит после выполнения всех операторов, однако может использоваться и оператор RETURN для нестандартного выхода, например, совместно с оператором IF.
Вызов функции производится по имени. Например, вызов рассмотренной выше функции fun1 производится следующим образом:
[C1,C2,...]=fun1(D1,D2,...);
В этом примере при вызове переменным B1,B2,... присваиваются значения D1, D2,.... При возврате переменным С1,С2,... присваиваются значения A1,A2,...
Если список формальных параметров функции включает имя другой функции, то она вызывается оператором FEVAL. Например, имеется функция simps.m, оформленная в виде m-файла и вычисляющая определенный интеграл методом Симпсона в пределах от x1 до x2 с точностью Е. Подынтегральная функция находится в файле fun1.m. Вызов функции simps в основную программу производится по имени:
INT=simps('fun1',x1,x2,E);
а сама функция simps вызывает fun1 с помощью оператора feval:
function I = simps(ff,a,b,e)
.................................
Y=feval(ff,x);
.................................
Здесь ff – формальное имя файла, в котором расположена подынтегральная функция. В процессе вызова функции simps из основной программы формальному имени ff присваивается значение fun1.
Часто возникает необходимость передать функции, имя которой входит в список формальных параметров, значения ряда переменных не из вызывающей ее функции, а из основной программы. Это может быть осуществлено с помощью специальной переменной, имеющей имя varargin. Переменная varargin – массив ячеек, собирающая все входные параметры, стоящие после обязательных. Varargin должна стоять последней в списке входных параметров функции. Рассмотрим работу с переменной varargin, используя предыдущий пример. Отличие заключается в том, что в подынтегральную функцию, имеющую вид 2*a*x^2+sin(b*x) необходимо из основной программы передать значения переменных a и b. В этом случае сценарий и две функции, оформленные в виде m-файлов, должны иметь вид:
СЦЕНАРИЙ.
---------
.................
s=...;p=...;
I=simps('fun1',x1,x2,E,s,p);
.................
ФУНКЦИЯ simps.
--------------
function Y=simps(ff,a,b,e,varargin)
.................
y1=feval(ff,x1,varargin);
.................
ФУНКЦИЯ fun1.
-------------
function F=fun1(x,a,b)
F=2*a*x^2+sin(b*x);
При вызове функции simps из основной программы, формальному имени ff присваивается значение fun1, переменным а,b,e, соответственно значения x1,x2,E, а значения переменных s,p заносятся в переменную varargin, которая в данном случае является двухкомпонентным вектором. При вызове функцией simps функции fun1 переменной x присваивается значение x1, а переменным a, b – значения s, p из переменной varargin.
В MATLAB имеется 2 типа стандартных функций: встроенные (sin(x), cos(x), exp(x) и т.д.). Они эффективно работают, но доступ к их программам затруднен.
Второй тип функций – внешние, оформленные в виде m-файлов (это гамма-функция, функция Бесселя и т.д.). Такие функции можно редактировать лично, а также создавать новые функции. Большинство функций, оформленных в виде m-файлов, расположены в подкаталоге toolbox. Обычно все переменные, входящие в функцию, определены внутри ее m-файла – это локальные переменные. Для того, чтобы некоторые переменные сделать общими для нескольких функций, они в этих программах должны быть объявлены оператором global. Имена функций в списке отделяются друг от друга пробелами. Например:
global A G2 alfa MAS;