- •1. Обзор языка.
- •1. Ввод/вывод.
- •2. Операторы.
- •3. Выражения.
- •4. Имена.
- •5. Типы.
- •1. Запись программ.
- •1.1. Буквенноцифровые символы.
- •6. Строки.
- •7. Символы.
- •2. Термины и концепции.
- •1.2. Пробелы.
- •1.3. Позиции.
- •2. Строки и операторы.
- •2.1. Начальные строки.
- •2.2. Строки продолжения.
- •2.3. Строки коментария.
- •2.4. Операторы описания данных и порядок следования операторов.
- •3. Типы данных.
- •3.1. Целые типы данных.
- •3.2. Тип действительных данных обычной точности ieee.
- •3.3. Действительный тип данных ieee двойной точности.
- •3.4. Формат десятичных чисел с плавающей точкой обычной и двойной точности.
- •3.5. Комплексные типы данных.
- •3.6. Логические типы данных.
- •3.7. Символьный тип данных.
- •4. Имена.
- •4.1. Имена Фортрана по умолчанию.
- •5. Выражения.
- •5.1. Арифметические выражения.
- •5.2. Деление целых.
- •5.3. Преобразования типов арифметических операндов.
- •5.4. Символьные выражения.
- •5.5. Выражения отношения.
- •5.6. Логические выражения.
- •5.7. Приоритеты операторов.
- •5.8. Правила вычисления выражений.
- •5.9. Ссылки на элемент массива.
- •3. Операторы.
- •1.Категории операторов.
- •1.1.Операторы program, subroutine, function и block data.
- •2.Операторы описания.
- •3.Cправочник операторов.
- •Часть 4 "Система ввода/вывода".
- •1.Записи.
- •2.Файлы.
- •2.1.Xapaктepиcтики фaйлoв.
- •2.2.Ocoбeннocти внутpeниx фaйлoв.
- •2.3.Устройства.
- •2.4.Наиболее широко используемыe cтpуктуpы фaйлoв.
- •2.5.Дpугиe cтpуктуpы фaйлa.
- •2.7.Совмещение фaйлa.
- •3.Oператоры ввода/вывода.
- •4.Форматный ввод/вывод.
- •4.1.Взаимодeйcтвиe фopмaтa и cпиcкa ввoдa/вывoдa.
- •4.Bвод/вывод списком.
- •5. Программы, подпрограммы и функции.
- •1. Основная программа.
- •2. Подпрограммы.
- •3. Функции.
- •3.1. Внешние функции.
- •3.2. Встроенные функции.
- •3.3. Функции-операторы.
- •4. Параметры.
- •5. Передача целых параметров.
- •1. Обзор языка.
- •2. Особенности графики системы matlab
- •3. Построение графика функций одной переменной
- •4. Построение в одном окне графиков нескольких функций
- •5. Графическая функция fplot
- •6. Столбцовые диаграммы
- •7. Построение трехмерных графиков
- •7. Контекстное меню графиков
- •8. Форматирование линий и маркеров для графика нескольких функций
- •9. Построение графиков отрезками прямых
- •10. Столбцовые диаграммы
- •11. Графики с зонами погрешности
- •12. График проекций векторов на плоскость
- •13. Построение графиков поверхностей
- •13. Tрехмерные контурные графики
12. График проекций векторов на плоскость
Иногда полезно отображать комплексные величины вида z = х + yi в виде проекции радиус-вектора на плоскость. Для этого используется семейство графических команд класса feather:
feather(U.V) — строит график проекции векторов, заданных компонентами U и V, на плоскость;
feather (Z) — для вектора Z с комплексными элементами дает построения, аналогичные feather(REAL(Z),IMAG(Z));
feather(..., S) — дает построения, описанные выше, но со спецификацией линий, заданной строковой константой S по аналогии с командой plot.
Пример применения команды feather:
» x=0:0.1*pi:3*pi;
»y=0.05+i;
» z=exp(x*y);
» feather(z)
График, построенный в этом последнем примере, показан на рис. 6.15.
Рис. 18 График, построенный функцией feather
Функция Н=РЕАТНЕR(...)строит график и возвращает вектор дескрипторов графических объектов.
13. Построение графиков поверхностей
Команда plot3(...) является аналогом команды plot (...), но относится к функции двух переменных z(x, у). Она строит аксонометрическое изображение трехмерных поверхностей и представлена следующими формами:
plot3(x.y,z) — строит массив точек, представленных векторами х, у и z, соединяя их отрезками прямых. Эта команда имеет ограниченное применение;
plot3(X,Y,Z), где X, Y и Z — три матрицы одинакового размера, строит точки с координатами X(i.:), Y(i,:) и Z(i,:) и соединяет их отрезками прямых.
Ниже дан пример построения трехмерной поверхности, описываемой функцией
z(х.у)=х^2+у^2;
» [X.Y]=meshgrid([-3:0.15:3]);
» Z=X. ^ 2+Y.^2;
» plot3(X.Y.Z)
График этой поверхности показан на рис. 6.18.
Рис. 19 График поверхности, построенный линиями
plot3 (X. Y, Z, S) — обеспечивает построения, аналогичные рассмотренным ранее, но со спецификацией стиля линий и точек, соответствующей спецификации команды plot. Ниже дан пример применения этой команды для построения поверхности кружками:
» [X.Y]=meshgrid([-3:0.15:3]);
» Z=X. ^ 2+Y.^2;
» plot3(X,Y,Z.'o')
График поверхности, построенный кружками, показан на рис. 6.19.
Рис. 20График поверхности, построенный разноцветными кружками
plot3(xl ,yl.zl, sl.х2,у2.z2. s2. хЗ,уЗ.z3,s3,...)— строит на одном рисунке графики нескольких функций zl(xl ,yl), z2(x2,y2) и т. д. со спецификацией линий и маркеров каждой из них.
Пример применения последней команды дан ниже:
» [X.Y]=meshgrid([-3:0.15:3]);
» Z=X. ^ 2+Y.^2;
» plot3(X,Y,Z,'-k',Y,X,Z,'-k ' )
График функции, соответствующей последнему примеру, представлен на рис. 6.20.
Рис. 21 График функции в сетчатом представлении
В данном случае строятся два графика одной и той же функции с взаимно перпендикулярными образующими линиями. Поэтому график имеет вид сетки без окраски ее ячеек (напоминает проволочный каркас фигуры).
13. Tрехмерные контурные графики
Трехмерный контурный график представляет собой расположенные в пространстве линии равного уровня, полученные при расслоении трехмерной фигуры рядом секущих плоскостей, расположенных параллельно опорной плоскости фигуры.
При этом в отличие от двумерного контурного графика линии равного уровня отображаются в аксонометрии. Для получения трехмерных контурных графиков используется команда contourS:
contour3(...) — имеет синтаксис, аналогичный команде contour(...), но строит линии равного уровня в аксонометрии с использованием функциональной окраски (окраска меняется вдоль оси Z).
Полезные частные формы записи этой команды:
contour3(Z) — строит контурные линии для поверхности, заданной массивом Z, без учета диапазона изменения х и у;
contour3(Z.n) — строит то же, что предыдущая команда, но с использованием п секущих плоскостей (по умолчанию n=10);
contour3(X,Y,Z) — строит контурные линии для поверхности, заданной массивом Z, с учетом изменения х и у. Двумерные массивы X и Y создаются с помощью функции meshgrid;
contours(X.Y.Z.n) — строит то же, что предыдущая команда, но с использованием п секущих плоскостей.
Пример применения команды contourS:
» contour3(peaks,20)
» colormap(gray)
Соответствующий данному примеру график представлен на рис. 6.31. В данном случае задано построение двадцати линий уровня.
Рис. 22Трехмерный контурный график для функции peaks
С командой contourS связаны следующие одноименные функции (не выполняющие графические построения):
C=contour3(...) — возвращает матрицу описания контурных линий С для использования командой clabel;
[С, H]=contour3(...) — возвращает массив С и вектор-столбец Н дескрипторов объектов path для каждой линии уровня. Свойство UserData каждого объекта содержит значение высоты для соответствующего контура.
