Сперва построим график обычным способом, как мы это делали в предыдущих заданиях
У нас есть новая функция, которую следует задать в отдельном м-файле. Для этого сначала задаем функцию и полином из 1-го задания.
Функция из 1-го задания
Полином из 1-го задания
Теперь зададим новую функцию через 2, заданные перед этим
Теперь осталось ее построить ровно так же, как и в предыдущих заданиях
Теперь наносим асимптоту в точке разрыва (в точке корня полинома)
Сетка и удерживание
Вот что у нас получилось:
Результат такой потому, что функция уходит в бесконечность, но график останавливается на очень большом значении, т кмы просто взяли точки и их значения функции. Из-за огромных значений функции в точке разрыва остальной график кажется линией. Да и разрыв функции тоже выглядит как линия. Попробуем увеличить наш получившийся график.
Хоть график и остался линией, мы смогли хорошо увидеть разрыв функции и асимптоту в нем.
1.b) Сделать «усечение» функции (изобразить только значения A < g(x) < B) по оси ординат по выбранным значениям А и В.
Т когромные значения функции не дают нам получить нормальный график, мы можем сделать усечение. Это процедура, которая отсекает промежутки функции со значениями больше определенной границы, задаваемой самостоятельно.
Попробуем построить график с усечением
Начинается все стандартно
Теперь зададим крайнее значение, после которого график не будет строиться как вниз так и вверх
Далее как обычно
Теперь делаем самое главное. В значениях, превышающих допустимые мы присваиваем функции пустые (NaN). И после ф этих точках функция не строится, что дает возможность нормально разглядеть зависимость.
Осталось построить этот график и нанести асимптоту
Результат:
2. Построить график "кусочно-заданной" функции, определенной на интервалах [x1. x2], [x2. x3], [x3. x4] соответственно как у(х), Рк(х), и g(x) в любом порядке (непрерывность функции не требуется,). Подписать каждую часть графика, используя легенду. Каждая ветвь должна быть отрисована своим стилем.
Сначала построим три пустых графика, а потом нанесем точки.
3 график (g(x))
2 график (функция из 1 задания)
1 график (полином)
Теперь нанесем маркеры на характерные точки
В полиноме есть максимум:
В первом графике у нас есть минимум:
В графике g(x) у нас есть корень:
Очень важно сделать легенду, чтобы различать графики
Вот, что у нас получилось
3. Построение двух поверхностей второго порядка:
a) Построить графики каждой поверхности на отдельных осях (одна – каркасная, другая – пленочная, использовать разные цветовые палитры)
Мне нужно построить эллипсоид и параболический цилиндр(так написано в моем варианте).
Эллипсоид
Для того, чтобы задать эллипсоид коэффициентами, данными в задании и формулой для сферических координат.
;
;
Выразим x, y,z
;
;
;
;
Теперь начнем. Сперва зададим коэффициенты, полученные из отдельного файла с заданиями
Зададим fiи ro и построим сетку
Теперь задаем X, Y, Z и строим эллипсоид с помощью функции surf. Она позволяет построить поверхность в пленочном виде, когда функция meshстроит в каркасном.
Вот, что у нас получилось
Теперь построим параболический цилиндр
Для того, чтобы построить параболический цилиндр достаточно задать уравнение параболы, а потом построить цилиндр на ней. Для этого необходимо задать вектор z.
Но сначала зададим коэффициенты
Зададим fi, z и построим сетку.
Теперь зададим уравнение параболы через Xи Y
Т. к. фигуры должны быть в разном цветовом оформлении задаем его с помощью функции colormap
Наконец строим график с помощью функции mesh, чтобы фигура получилась каркасной.
Не забываем все подписать
Результат
b) Построить графики одной из поверхностей на 4 подграфиках (каркасная, пленочная – два варианта с разной закраской, топографическая - линиями уровней) задавая разные точки обзора
Теперь нам нужно построить параболический цилиндр различными способами.
Первый подграфик мы строим без изменений, меняя только угол обзора с помощью функции view.
Во втором мы меняем угол обзора, а также строим не в каркасном, а в пленочном виде.
В третьем меняем цвет и угол обзора. Если мы строим в subplot-е, то функция colormapне работает, поэтому мы должны создать многомерный массив colo, в котором будуетприсутсвовать данные из массива Z. При помощи цикла мы заливаем каждую ячейку цветом. Потом мы строим с помощью стандартной функции surf, добавляя параметр colo, который отвечает за цвет.
В 4 подграфике мы меняем угол обзора и строим его с помощью функции contour, которая строит фигуру через линии уровней
Вот какиеподграфики у нас получились