Компьютерная математика Mathematica электронный учебник

Атомные станции России
Смоленская АЭС
Курская АЭС
Калининская АЭС
Кольская АЭС
Ростовская АЭС
Нововоронежская АЭС
Ленинградская АЭС
Билибинская АЭС
Белоярская АЭС
Балаковская АЭС
Безопасность АЭС
Экология
Модернизация АЭС
Перспективы
Соцкультбыт
Типы атомных станций
  • с реакторами РБМК 1000
  • с реакторами ВВЭР
  • с реакторами БН-600
  • Атомная энергетика
    Первая в мире атомная электростанция
    Юбилей Атомной энергетики
    Российские атомные ледоколы
    Ядерные реакторы
     
  • Ядерные топливные циклы
  • Безопасность АЭС
  • История атомной энергетики
  • Канальный кипящий графитовый реактор
  • Реакторы водо-водяного типа
  • Реакторы на быстрых нейтронах
  • Сравнение различных типов энергетических
    ядерных реакторов
  • Реакторы третьего поколения ВВЭР-1500
  • Безопасный быстрый реактор РБЕЦ
  • Энергетическая установка ГТ-МГР
  • ВАО АЭС
  • Импульсные реакторы 
  • Реактор БИГР (быстрый
    импульсный графитовый реактор)
  • Атомные батареи в космосе
  • Излучатели нейтронов
  • Изотопные источники электронов
  • Первый бетатрон для ускорения
    электронов
  • Альтернативная энергетика
    Курсовые проекты по ядерным реакторам
    Испытания ядерного оружия
     
  • Ядерные испытания том 1
  • Ядерные испытания том 2
  • Ядерное разоружение
  • Ядерное оружие
  • Ядерные испытания в Артике
     
  • Арктический ядерный полигон
  • Создание полигона
  • Подводные ядерные взрывы
  • Испытание оперативно-тактической
    ракеты
  • Аварии на ядерных реакторах
     
  • Чернобыльская катастрофа
  • Чернобыльская АЭС
  • Космические ядерные аварии
  • Курс Атомная энергетика
    Книга Укращение ядра
    Теплоэнергетика
    Малая теплоэнергетика
    Машиностроительное черчение
    и инженерная графика
    Приемы выполнения графических работ
    Инженерная графика
    Разъемные и неразъемные соединения
    Виды соединения деталей
    Работа в AutoCAD при выполнении чертежа
    Инженерная графика
    Аксонометрическая проекция
    Техническое черчение
    Компас-3d
    Лабораторные работы
    и задачи по электротехнике
    Трехфазные цепи
    Методы расчета электрической цепи
    Соединение нагрузки треугольником
    Преимущества трезфазных систем
    Расчет симметричных режимов работы
    трехфазных систем
    Расчет разветвленных однофазных цепей
    Расчет разветвленной магнитной цепи
    Математика
    Математика решение задач
    Линейная алгебра
    Дифференциальное исчисление
    Дифференциальные уравнения
    Теория вероятностей
    Математический анализ
    Геометрический смысл производной
    Числовые ряды
    функции комплексного переменного
    Вычислить интеграл Задачи и примеры
    Поверхностные и кратные интегралы
    Физические задачи

    Билеты к экзамену по высшей математике

    Компьютерная математика Mathematica
    Maple
    Матричная лаборатория MATLAB
    Физика
  • Электротехника
  • Кинематика, динамика, термодинамика
  • Электростатика, Магнетизм
  • Волновая и квантовая оптика
  • Физика в конспективном изложении
  • Законы геометрической оптики
  • Механизм ядерных реакций
  • Электромагнитные колебания
  • Ядерная физика
  • Строение и общие свойства атомных ядер
  • Модели атомных ядер
  • Радиоактивные превращения ядер
  • Ядерные реакции
  • Деление ядер
  • Курс Физика ядра и частиц
  • Сопротивление материалов
    Лабораторные работы по сопромату
  • Исследовать рабочую систему
    механизма редуктора
  • Лабораторные работы по сопромату
  • Содержание и задачи курса
    сопротивление материалов
  • Техническая механика
  • Балочные системы
  • Чертежи
  • Основные типы подшипников качения
  • Дизайн
     
  • Дизайн в промышленности
  • Западный и российский дизайн
  • История дизайна
  • Эргономика
  • Архитектура и проектирование
    промышленных изделий
  •  
    История искусства
    Техника иконописания
    Сюжеты древнерусской живописи
    Баухауз
    Информатика
    Информатика
    Турбо Паскаль
    Visual Studio
    Visual Foxpro
    Visual Basic
    CorelDRAW

    Новая технология .NET

     

    Урок 1. Первое знакомство

    • Первое знакомство
    • Зарождение и развитие систем компьютерной алгебры
    • Математические системы Mathematica Примеры задач типовых расчетов по Кузнецову Задача .
    • Структура систем Mathematica и их идеология
    • Знакомство с символьными вычислениями
    • Установка систем и их особенности
    • Отличительные особенности Mathematica 4
    • Что нового мы узнали?
    • Реферат на тему «Анализ эффективности применения современных ИТ при решении дифференциальных уравнений»

      Введение

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

      Как известно, обыкновенные дифференциальные уравнения широко используются для математического моделирования процессов и явлений в различных областях науки и техники. Переходные процессы в радиотехнике, кинетика химических реакций, динамика биологических популяций, движение космических объектов, модели экономического развития исследуются с помощью однородных дифференциальных уравнений. В процессе решения ОДУ преодолеваются следующие математические трудности: дифференцирование и интегрирование громоздких математических выражений, включая интегральные уравнения, применение приближенных методов решения и т.д. На это тратится много времени, есть вероятность сделать ошибку в вычислениях, которая может привести к неверному результату и ошибочным выводам. Использование компьютерных математических пакетов, например Maple, Mathematica, Matlab, MathCad и другие, позволяет:

      расширить диапазон реальных приложений;

      для наглядного анализа строить графики сложных функций и поверхностей, с помощью которых, например, оцениваются решения ОДУ, что существенно облегчает их анализ;

      находить решения различных интегральных и интегро-дифференциальных уравнений;

      сочетать профессиональную направленность, научность, системность, наглядность, интерактивность, межпредметные связи при решении ОДУ;

      находить аналитические и приближенные решения для некоторых ОДУ.

      Целью данной работы является ответ на ряд наиболее актуальных вопросов, связанных с применением ИТ при решении ДУ:

      какие компьютерные математические пакеты лучше всего использовать при решении ДУ;

      какие усовершенствования необходимы в этих системах для наиболее эффективного решения ДУ;

      какие дополнительные вычислительные возможности необходимо ввести для наиболее результативного применения ИТ в решении ДУ.

    Урок 2. Интерфейс системы

    • Типы данных
    • Основные классы данных
    • Операторы и функции
    • Работа с объектами
    • Работа со списками и массивами
    • Операции линейной алгебры
    • Что нового мы узнали?
    • Глава 1 (обзор литературы)

      Применения ИТ при решении ДУ это достаточно актуальный вопрос в наше время. По этой причине многие авторы посвятили свои работы именно этой тематике. Например, книга Тарасевич Ю.Ю. «Информационные технологии в математике» рассматривает вопросы, касающиеся решения математических задач с использованием пакетов Maple и MathCad, подготовки математических и естественнонаучных текстов с использованием издательской системы LaTeX. Так же в книге приводятся необходимые сведения по численным методам. Отдельная глава посвящена решению ДУ, в которой описываются различные методы решения ОДУ и уравнений в частных производных. Книга снабжена упражнениями и контрольными заданиями к каждой главе.

      В книге В. Гандера, И. Гржебичека «Решение задач в научных вычислениях с применением Maple и Matlab» представлена подборка интересных задач, иллюстрирующих некоторые приемы решения в научно-технических вычислениях. Техника решения каждой задачи обсуждается и демонстрируется с применением Maple или Matlab. Примеры представлены так, чтобы читатель мог легко расширить приемы в отношении более трудных задач. Книга учит способам решения на примере реальных сложных задач.

      В книге Голоскокова Д. П. «Уравнения математической физики. Решение задач в системе Maple» непосредственно рассказывается о способах решения различных видов ДУ, приводятся подробно разобранные примеры решения ДУ и их систем, даются некоторые комментарии и советы.

      Внимательно ознакомившись с найденной литературой, можно сделать вывод, что ни в одной из книг не был проведен анализ эффективности применения ИТ при решении ДУ, по этой причине основными задачами реферата являются:

      поиск наиболее эффективного символьного пакета для решения ДУ;

      анализ символьных математических пакетов;

      поиск необходимых усовершенствований в математических символьных пакетах для наиболее эффективного решения ДУ.

      Глава 2 (методика исследования)

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

    Урок 4. Операции математического анализа

    Урок 5. Представление и обработка данных

    • Представление и обработка данных
    • Разложение функций в ряды
    • Преобразования Фурье
    • Интерполяция, аппроксимация и регрессия
    • Спектральный анализ с линейной интерполяцией сигнала
    • Моделирование нелинейных цепей с применением интерполяции
    • Что нового мы узнали?
    • Глава 3 (основные результаты)

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

      Существует целый ряд систем высокого уровня, среди которых Mathematica, Maple, MathCad, Mathlab и др., позволяющих решать различные математические задачи. Однако самыми распространенными в мире системами высокого уровня являются системы Mathematica и Maple. Дело в том, что MathCad и Mathlab занимают совсем другое положение, нежели Mathematica и Maple. Оба при вычислении используют численные алгоритмы, а не символьные. Символьные вычисления являются слабо развитыми (по сравнению c пакетами символьных вычислений) дополнениями. По этой причине остановимся на описании пакетов Mathematica и Maple.

      Возможности системы Mathematica

      Дифференциальные уравнения широко используются в практике математических вычислений. Они являются основой при решении задач моделирования — особенно в динамике. Немногие математические системы имеют реализации численных методов решения систем дифференциальных уравнений. Но система Mathematica имеет средства как для символьного, так и для численного решения дифференциальных уравнений и их систем.

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

      DSolve[eqn, y[x], х] – решает дифференциальное уравнение относительно функций у[ х ] с независимой переменной х;

      DSolve[{eqnl, eqn2,...}, {yl [xl,...],...}, {xl,...}] – решает систему дифференциальных уравнений.

      У функции DSolve и ее численного варианта NDSolve есть пара опций, на которые следует обратить внимание:

      DSolveConstants – опция к DSolve, определяющая постоянные интегрирования, которые будут использованы в результате;

      StartingStepSize – опция к NDSolve, определяющая величину начального шага.

      В решении дифференциальных уравнений встречаются постоянные интегрирования. По умолчанию они обозначаются как С[ i ].

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

      Многие дифференциальные уравнения не имеют аналитических решений – например, нелинейные. Однако они могут с приемлемой точностью решаться численными методами. Для численного решения систем дифференциальных уравнений используется функция NDSolve:

      NDSolve [eqns, у, {x, xmin, xmax }] – ищет численное решение дифференциальных уравнений .eqns относительно функции у независимой переменной х в интервале от xmin до xmax;

      NDSolve [eqns, {yl, y2,...}, {x, xmin, xmax }] – ищет численные решения относительно функций yi.

      MaxSteps — опция к NDSolve, которая определяет максимальное количество шагов.

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

      Нередко решение предпочитают представить на фазовой плоскости. Рисунок 2 иллюстрирует такую возможность. Более того, поскольку решается система из трех дифференциальных уравнений, фазовая траектория решения находится в трехмерном пространстве.

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

      Рисунок 1. Решение системы дифференциальных уравнений с выводом решения в виде графиков временных зависимостей.

       

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

      Средства пакета Mathematica дают возможность построить поле направлений различных ДУ и провести несколько интегральных кривых, обращая внимание на их взаимное расположение. Результат решения этой задачи для ДУ  отображает рисунок

      Рисунок 3.

      Функция DSolve легко решает ДУ с постоянными коэффициентами, многие ДУ высших порядков, решения которых выражаются через специальные функции, но для остальных классов ДУ это функция не применима. Не во всех случаях дает желаемый результат и функция NDSolve, для этого входной язык Mathematica содержит большое количество конструкций, позволяющих для каждой конкретной задачи выбрать оптимальный метод программирования. Помимо обычного процедурного программирования с применением условных переходов и операторов цикла, имеется еще несколько методов

      основанный на операциях со списками (list-based); этот метод использует особенности универсального объекта программы - списка выражений, с которыми можно производить математические операции, как с алгебраическими выражениями, при этом заданные операции выполняются всеми элементами списка;

      основанный на операциях над строками (string-based);

      функционального программирования (functional programming), позволяющий создавать сложные функции и последовательности вложенных функций;

      на базе правил преобразования выражений (rule-based);

      объектно-ориентированный (object-oriented).

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

      Возможности системы Maple

      Решение дифференциальных уравнений самых различных типов — одно из достоинств системы Maple. Пакет DEtools предоставляет ряд полезных функций для решения дифференциальных уравнений и систем с такими уравнениями. Этот пакет дает самые изысканные средства для аналитического и численного решения дифференциальных уравнений и систем с ними. Ниже приводятся полные наименования тех функций, которые есть в системe Maple:

      DEnormal — возвращает нормализованную форму дифференциальных уравнений;

       DEplot — строит графики решения дифференциальных уравнений; 

       DEplot3d — строит трехмерные графики для решения систем дифференциальных уравнений;

       Dchangevar — изменение переменных в дифференциальных уравнениях;

       PDEchangecoords — изменение координатных систем для дифференциальных уравнений в частных производных; 

       PDEpTot — построение графиков решения дифференциальных уравнений в частных производных;

       autonomous — тестирует дифференциальные уравнения на автономность;

       convertAlg — возвращает список коэффициентов для дифференциальных уравнений;

       convertsys — преобразует систему дифференциальных уравнений в систему одиночных уравнений;

       dfieldplot — строит график решения дифференциальных уравнений в виде векторного поля;

        indicialeq — преобразует дифференциальные уравнения в полиномиальные;

        phaseportrait — строит график решения дифференциальных уравнений в форме фазового портрета;

       reduceOrder — понижает порядок дифференциальных уравнений;

       regularsp — вычисляет регулярные особые точки для дифференциальных уравнений  второго порядка;

       translate — преобразует дифференциальные уравнения в список операторов;

       untranslate — преобразует список операторов в дифференциальные уравнения;

       varparam — находит общее решение дифференциальных уравнений  методом вариации параметров.

      Как известно, численное решение дифференциальных уравнений можно получить используя различные методы (метод Рунге – Кутта, Гира, метод разложения в ряд Тейлора и т. д.). Обилие используемых методов расширяет возможности решения дифференциальных уравнений в численном виде, Maple реализует адаптируемые к ходу решения методы, при которых шаг решения h автоматически меняется, подстраиваясь под условия решения. Более того, система Maple способна автоматически выбирать наиболее подходящий для решаемой задачи метод решения.

      Большинство нелинейных дифференциальных уравнений не имеет аналитического решения. Кроме того, часто аналитическое решение и не нужно, но требуется получить ответ в виде графических зависимостей. Для графического отображения Maple предлагает ряд возможностей. При этом используется функция plot[odeplot] из пакета odeplot, предназначенного для визуализации решений дифференциальных уравнений. Иногда решение системы из двух дифференциальных уравнений (или одного дифференциального уравнения второго порядка) представляется в виде фазового портрета. Обычное решение, как правило, более наглядно, чем фазовый портрет решения. Однако для специалистов (например, в теории колебаний) фазовый портрет порою дает больше информации, чем обычное решение. Он более трудоемок для построения, поэтому возможность Марle быстро строить фазовые портреты трудно переоценить.

      С помощью Maple можно получить решения, представленные в виде векторного поля рисунок 4, стрелки которого являются касательными к кривым решения (сами эти кривые не строятся).

      Рисунок 4. Решение системы дифференциальных уравнений Лотки –Вольтерра, с выводом в виде графика векторного поля.

    Урок 6. Специальные математические функции

    Урок 7. Работа с периферийными устройствами

    Урок 8. Графика и звук

    Урок 9. Компьютерная алгебра

    Урок 10. Основы программирования

    Урок 11. Математические пакеты расширения

    Урок 12. Статистические расчеты

    Урок 13. Полезные функции

    Урок 14. Расширения графики— пакет Graphics

    Приложение. Данные по дополнительным функциям Mathematica 4

    • Данные по дополнительным функциям Mathematica 4, К уроку 3
    • К уроку 4
    • К уроку 6
    • К уроку 7
    • К уроку 8
    • К уроку 9
    • К уроку 10
    • К уроку 11
    • К уроку 14
    • Графические примитивы функции Graphics

      • Circle[{x, у}, r]— строит окружность с радиусом г и центром в точке {х, у}.
      • Circle [{х, у), {rх, rу) ] — строит эллипс с центром {х,у} и полуосями гх и гу.
      • Circle[{x, у}, r, {thetal, theta2 }]— представляет дугу окружности радиусом г с центром {х, у} и углами концевых точек thetal и theta2.
      • Disk[{x, у), r]— является примитивом двумерной графики, представляющим закрашенный круг радиусом г с центром в точке {х, у}.
      • Disk [ {х, у}, {rх, rу} ] — строит закрашенный овал с полуосями rх и rу и центром {х, у}.
      • Disk[{x, у}, r, {thetal, theta2}]—строит сегмент круга радиусом г с центром {х, у} и углами концевых точек thetal и theta2.
      • Line [ {pt1 pt2,...} ] — строит линию, соединяющую последовательность точек.
      • Point[{x,y}] — строит точку с координатами х и у.
      • Polygon [{x1, y1},{х2, у2},...] — построение полигона с закраской.
      • PostScript [ "string" ] — построение объекта, заданного на языке PostScript.
      • Rectangle [ {xmin, ymin}, {xmax, ymax}]—строит закрашенный прямоугольник, ориентированный параллельно осям и намеченный координатами противолежащих углов.
      • Rectangle [ {xmin, ymin}, {xmax, ymax}, graphics] — строит закрашенный прямоугольник, заполненный в соответствии с указаниями в функции graphics и заданный координатами противолежащих углов.
      • Raster [{{all, a 12,...},...}] — строит прямоугольный массив ячеек яркости.
      • RasterArray [ {{gll, g!2,...},...}] — строит прямоугольный массив ячеек, окрашенных в соответствии с графическими директивами gij.
      • Text[expr, coords] — выводит текст, соответствующий печатной форме выражения ехрг, центрированный в точке с указанными координатами coords.

      Опции трехмерной графики

      • AmbientLight — задает директиву фоновой подсветки сцены.
      • AxesEdge — определяет, на каких гранях ограничительного параллелепипеда («ящика») должны выводиться оси.
      • Boxed — указывает, надо ли рисовать контуры (ребра, грани) ограничительного параллелепипеда в трехмерном изображении.
      • BoxRatios — задает значение отношений длин сторон для ограничительного параллелепипеда трехмерного изображения.
      • BoxStyle — задает прорисовку ограничительного параллелепипеда.
      • Background — задает цвет фона.
      • ClipFill — определяет, как должны выводиться отсекаемые части поверхности.
      • ColorFunction — определяет функцию, используемую для функциональной окраски.
      • ColorOutput — задает тип производимого цветового вывода.
      • Def aultFont — возвращает шрифт по умолчанию для текста в графике.
      • DefaultColor — задает цвет по умолчанию для линий, точек и т. д.
      • $DisplayFunction — задает значение по умолчанию для опции Display-Function в графических функциях.
      • DisplayFunction — определяет функцию, которая применяется к графическим и звуковым примитивам для их отображения.
      • Epilog — опция для графических функций, дающая список графических примитивов, которые должны воспроизводиться после воспроизведения главной части графики.
      • FaceGrids — опция для функций трехмерной графики; устанавливает вывод линий сетки на гранях (лицевых сторонах) ограничительного параллелепипеда.
      • HiddenSurf асе — определяет, нужно или нет удалять невидимые линии каркаса.
      • Lighting — указывает, следует ли моделировать освещение в трехмерных изображениях.
      • LightSources — опция для Graphics3D и родственных функций, которая устанавливает возможности (свойства) точечных источников света для моделируемого освещения.
      • Mesh — указывает, следует ли прорисовывать явно заданную х-у-сетку.
      • MeshRange — устанавливает диапазон (область изменения) х- и y-координат, которые соответствуют массиву заданных величин z.
      • MeshStyle — задает стиль вывода линий сетки.
      • SphericalRegion — указывает, следует ли конечный образ масштабировать так, чтобы сфера, рисуемая вокруг трехмерного ограничительного параллеле-пипеда, вписывалась в область отображения.
      • Polygonlntersections — опция для Graphics3D, которая определяет, следует ли пересекающиеся многоугольники оставлять без изменения.
      • Prolog — опция для графических функций, дающая список графических примитивов, которые визуализируются до вывода главной части графики.
      • RenderAll — опция для Graphics3D, которая указывает, должен ли код PostScript генерироваться для всех многоугольников (включая невидимые).
      • Shading — опция для Surf aceGraphics, указывающая, следует ли выполнять затенение поверхностей.
      • ToColor [color, form] — превращает color в form; если form представляет собой функцию GrayLevel, RGBColor или CMYKColor, то color превращается в нее. В противном случае вычисляется form [color] — ожидается, что результат будет допустимой цветовой директивой.
      • ViewCenter — задает масштабные координаты точки, оказывающейся в центре области отображения в окончательном графике.
      • Viewpoint — меняет точку пространства, из которой рассматривается объект.
      • ViewVertical — устанавливает, какое направление в относительных координатах должно быть вертикальным в окончательном образе.

      Дополнительные директивы и функции трехмерной графики

    Отображение трехмерных графиков

    Программа MatLab обладает рядом инструментов для визуализации графиков в трехмерном пространстве. Такие задачи обычно возникают при отображении графиков функций типа .

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

    plot3(X,Y,Z);

    которая в качестве первых двух аргументов принимает матрицы с координатами точек по осям Ox и Oy соответственно, а в качестве третьего аргумента передается матрица значений точек по оси Oz. Рассмотрим работу данной функции на примере отображения графика функции

    ,

    при  и .

    Сформируем матрицы X и Y, содержащие координаты точек данного графика по осям Ox и Oy соответственно. Данные матрицы нужны для того, чтобы функция plot3() «знала» какие реальные координаты соответствуют точке Z(i,j) матрицы значений по оси Oz. Для этого достаточно взять i-ю и j-ю компоненту матриц

    Формирование матриц X и Y можно осуществить с помощью функции

    [X,Y]=meshgrid(x,y);

    языка MatLab. Здесь x и y – одномерные векторы значений координат по осям Ox и Oy соответственно, которые можно сформировать как

    x=-1:0.1:1;              % координаты точек по оси Ox
    y=-2:0.1:2;              % координаты точек по оси Oy

    и, затем, вычислить матрицы

    [X,Y]=meshgrid(x,y); % матрицы координат точек по осям Ox и Oy

    В результате, матрицы X и Y будут содержать следующие первые восемь значений по строкам и столбцам:

    Матрица X:

    -1      -0,9   -0,8   -0,7   -0,6   -0,5   -0,4   -0,3

    -1      -0,9   -0,8   -0,7   -0,6   -0,5   -0,4   -0,3

    -1      -0,9   -0,8   -0,7   -0,6   -0,5   -0,4   -0,3

    -1      -0,9   -0,8   -0,7   -0,6   -0,5   -0,4   -0,3

    -1      -0,9   -0,8   -0,7   -0,6   -0,5   -0,4   -0,3

    -1      -0,9   -0,8   -0,7   -0,6   -0,5   -0,4   -0,3

    -1      -0,9   -0,8   -0,7   -0,6   -0,5   -0,4   -0,3

    -1      -0,9   -0,8   -0,7   -0,6   -0,5   -0,4   -0,3

    Матрица Y:

    -2      -2      -2      -2      -2      -2      -2      -2

    -1,9   -1,9   -1,9   -1,9   -1,9   -1,9   -1,9   -1,9

    -1,8   -1,8   -1,8   -1,8   -1,8   -1,8   -1,8   -1,8

    -1,7   -1,7   -1,7   -1,7   -1,7   -1,7   -1,7   -1,7

    -1,6   -1,6   -1,6   -1,6   -1,6   -1,6   -1,6   -1,6

    -1,5   -1,5   -1,5   -1,5   -1,5   -1,5   -1,5   -1,5

    -1,4   -1,4   -1,4   -1,4   -1,4   -1,4   -1,4   -1,4

    -1,3   -1,3   -1,3   -1,3   -1,3   -1,3   -1,3   -1,3

    Используя данные матрицы, можно вычислить значения матрицы Z, следующим образом:

    Z=exp(-X.^2-Y.^2);

    и отобразить результат на экране

    plot3(X,Y,Z);

    Рис. 3.10. Пример отображения графика с помощью функции plot3()

    Из приведенного рисунка видно, что функция plot3() отображает график в виде набора линий, каждая из которых соответствует сечению графика функции  вдоль оси Oy.

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

    mesh(X,Y,Z);   % отображение графика в виде сетки

    В результате получим следующий вид трехмерного графика (рис. 3.11).

    Благодаря использованию функции mesh() получается график, образованный интерполяцией точек массивов X, Y и Z линиями по осям Ox и Oy. Кроме того, цветом указывается уровень точки по оси Oz: от самого малого значения (синего) до самого большого (красного) и производится удаление «невидимых» линий. Это позволяет лучше визуально оценивать структуру трехмерного графика по сравнению с функцией plot3(). Если же необходимо отобразить «прозрачный» график, то следует выключить режим удаления «невидимых» линий:

    hidden off;         % скрытые линии рисуются

    В системе MatLab предусмотрена функция визуализации непрерывной поверхности в трехмерных осях

    surf(X,Y,Z);        % отображение непрерывной поверхности

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

    Рис. 3.11. Результат работы функции mesh()

    Рис. 3.12. Результат работы функции surf()

    Функция surf() может использоваться в режиме

    shading interp;         % интерполяция тени на гранях графика

    которая интерполирует цвет на гранях для получения более гладкого изображения поверхности (рис. 3.13). Также существует возможность менять цветовую карту отображения графика с помощью функции

    colormap( <карта> );    % установка цветовой карты

    Например, карта с именем hot, используемая по умолчанию может быть заменена на любую другую доступную (hot, hsv, gray, pink, cool, bone copper) или созданную самостоятельно.

    Рис. 3.13. Результат работы функции surf() в режиме shading interp

    Следует отметить, что все три функции plot3(), mesh() и surf() могут быть использованы и с одним аргументом Z, который интерпретируется как матрица со значениями точек по оси Oz.

    Для масштабирования отдельных участков трехмерных графиков, также как и в случае с двумерными графиками, используется функция

    axis([xmin xmax ymin ymax zmin zmax]);

    с очевидным набором параметров.

    Для оформления трехмерных графиков можно пользоваться описанными ранее функциями: text, xlabel, ylabel, zlabel, title, grid [on/off], subplot.

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

    view([az el]);

    где az – угол азимута; el – угол возвышения. Изменение первого угла означает вращение плоскости xOy вокруг оси Oz против часовой стрелки. Угол возвышения есть угол между направлением на камеру и плоскостью xOy.

    Курс лекций Сопротивление материалов