exponenta event banner

ezcontour

(Не рекомендуемый) Простой в использовании плоттер контура

ezcontour не рекомендуется. Используйте fcontour вместо этого.

Синтаксис

ezcontour(fun)
ezcontour(fun,domain)
ezcontour(...,n)
ezcontour(axes_handle,...)
h = ezcontour(...)

Описание

ezcontour(fun) строит линии контура fun(x,y) с помощью функции contour. fun построен по области по умолчанию:-2π <x <2π,-2π <y <2π.

fun может быть указателем на функцию для функции файла MATLAB® или анонимной функции (см. Создание указателя на функцию и Анонимные функции), вектор символов или строка (см. Советы).

ezcontour(fun,domain) графики fun(x,y) по заданному domain. domain может быть или 4 1 векторный [xmin, xmax, ymin, ymax] или 2 1 vector [min, max] (где min <x <max, min <y <max).

ezcontour(...,n) графики fun по области по умолчанию с помощью n-by-n сетка. Значение по умолчанию для n равняется 60.

ezcontour(axes_handle,...) графики в оси с указателем axes_handle вместо текущей системы координат (gca).

h = ezcontour(...) возвращает указатель на объект контура в h.

ezcontour автоматически добавляет заголовок и подписи по осям.

Примеры

свернуть все

Это математическое выражение задает функцию двух переменных, X и Y.

f(x,y)=3(1-x)2e-x2-(y+1)2-10(x5-x3-y5)e-x2-y2-13e-(x+1)2-y2

Функция ezcontour требует аргумента указателя на функцию. Напишите это математическое выражение в синтаксисе MATLAB® как анонимная функция с указателем f. Можно задать анонимную функцию в командном окне, не создавая отдельный файл. Для удобства запишите функцию на трех строках.

f = @(x,y) 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...
   - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...
   - 1/3*exp(-(x+1).^2 - y.^2);

Передайте указатель на функцию, f, к ezcontour. Задайте область от-3 до 3 и в направлении X и в направлении Y и используйте 49 49 вычислительную сетку.

ezcontour(f,[-3,3],49)

В данном случае заголовок является слишком длинным, чтобы соответствовать наверху графика, таким образом, MATLAB® сокращает его.

Советы

Передача функции как вектор символов или строка

Умножение массивов, деление и возведение в степень всегда подразумеваются в выражении, которое вы передаете ezcontour. Например, синтаксис MATLAB для контурного графика выражения

sqrt(x.^2 + y.^2)

записан как

ezcontour('sqrt(x^2 + y^2)')

Таким образом, x^2 интерпретирован как x.^2 в векторе символов, или представьте вас в виде строки, передают ezcontour.

Если функция, которая будет построена, является функцией переменных u и v (а не x и y), доменные конечные точки umin, umax, vmin, и vmax сортируется в алфавитном порядке. Таким образом ezcontour('u^2 - v^3',[0,1],[3,6]) строит линии контура для u 2 - v 3 более чем 0 <u <1, 3 <v <6.

Передача указателя на функцию

Аргументы указателя на функцию должны указать на функции тому использованию синтаксис MATLAB. Например, следующие операторы задают анонимную функцию и передают указатель на функцию fh ezcontour.

fh = @(x,y) sqrt(x.^2 + y.^2);
ezcontour(fh)

При использовании указателей на функцию необходимо использовать степень массивов, умножение массивов и операторы деления массивов (.^, .*, ./), поскольку ezcontour не изменяет синтаксис, как в случае с вектором символов или представляет входные параметры в виде строки.

Передача дополнительных аргументов

Если ваша функция имеет дополнительные параметры, например, k в myfun:

function z = myfun(x,y,k)
z = x.^k - y.^k - 1;

затем используйте анонимную функцию, чтобы указать что параметр:

ezcontour(@(x,y)myfun(x,y,2))

Расширенные возможности

Смотрите также

| | | | |

Представлено до R2006a