Иллюстрированный самоучитель по MatLab
В режиме непосредственных вычислений доступны практически все возможности системы. Широко используется, например, построение графиков различных функций, дающих наглядное представление об их поведении в широком диапазоне изменения аргумента. При этом графики строятся в отдельных масштабируемых и перемещаемых окнах.
Возьмем вначале простейший пример – построение графика синусоиды. Следует помнить, что MATLAB (как и другие СКМ) строит графики функций по ряду точек, соединяя их отрезками прямых, т. е. осуществляя линейную интерполяцию функции в интервале между смежными точками. Зададим интервал изменения аргумента х от 0 до 10с шагом 0.1. Для построения графика достаточно вначале задать вектор х=0:0.1:10, а затем использовать команду построения графиков plot(sin(x)). Это показано на рис. 3.1.
Вектор х задает интервал изменения независимой переменной от 0 до 10 с шагом 0.1. Почему взят такой шаг, а не, скажем, 1? Дело в том, что plot строит не истинный график функции sin(x), а лишь заданное числом элементов вектора х число точек. Эти точки затем просто соединяются отрезками прямых, т. е. осуществляется кусочно-линейная интерполяция данных графика. При 100 точках полученная кривая глазом воспринимается как вполне плавная, но при 10-20 точках она будет выглядеть состоящей из отрезков прямых.
Графики MATLAB строит в отдельных окнах, называемых графическими окнами. С первого взгляда видны отличия графического окна, показанного на рис. 3.1, от командного окна MATLAB. В главном меню окна появилась позиция Tools (Инструменты), которая позволяет вывести или скрыть инструментальную панель, видимую в верхней части окна графики на рис. 3.1. Средства этой панели (мы их рассмотрим полнее в дальнейшем) позволяют легко управлять параметрами графиков и наносить на них текстовые комментарии в любом месте.
In Matlab, how to change plot intervals?
I’ve been writin’ a Matlab function that reads a file and plots its 3D graphics, with three projection.
In the four graphics provided, it plots all the data, and decides the x,y,z interval from these data points. I woul like to change these plottin’ intervals, but I don’t know how to do it.
See this figure: 
In this case my problem is that on the 4th image (zy plane) I would like to see the y points in interval [1. 0], instead of viewin’ in interval [1. 0.4].
fplot
fplot( f ) строит кривую, заданную функциональным y = f(x) на интервале по умолчанию [-5 5] для x .
fplot( f , xinterval ) графики на заданном интервале. Задайте интервал как двухэлементный вектор из формы [xmin xmax] .
fplot( funx , funy ) строит кривую, заданную x = funx(t) и y = funy(t) на интервале по умолчанию [-5 5] для t .
fplot( funx , funy , tinterval ) графики на заданном интервале. Задайте интервал как двухэлементный вектор из формы [tmin tmax] .
fplot( ___ , LineSpec ) задает стиль линии, символ маркера и цвет линии. Например, ‘-r’ строит красную линию. Используйте эту опцию после любой из комбинаций входных аргументов в предыдущих синтаксисах.
fplot( ___ , Name,Value ) задает свойства линии с помощью одного или нескольких аргументов пары "имя-значение". Например, ‘LineWidth’,2 задает ширину линии 2 точек.
fplot( ax , ___ ) графики в осях задали by ax вместо текущей системы координат ( gca ). Задайте оси как первый входной параметр.
fp = fplot( ___ ) возвращает FunctionLine возразите или ParameterizedFunctionLine объект, в зависимости от входных параметров. Используйте fp запросить и изменить свойства определенной линии. Для списка свойств см. Свойства FunctionLine или ParameterizedFunctionLine Properties .
[x,y] = fplot( ___ ) возвращает абсциссы и ординаты для функции, не создавая график. Этот синтаксис будет удален в будущем релизе. Используйте XData и YData свойства объекта линии, fp , вместо этого.
Примечание
fplot больше входные параметры поддержек для определения ошибочного допуска или количества точек оценки. Чтобы задать количество точек оценки, используйте MeshDensity свойство.
Примеры
Графическое изображение выражения
Постройте sin(x) по x по умолчанию интервал [-5 5] .

Постройте параметрическую кривую
Постройте параметрическую кривую x = c o s ( 3 t ) и y = s i n ( 2 t ) .

Определение интервала графического изображения и Графическое изображение кусочных функций
Постройте кусочно-линейную функцию
e x — 3 < x < 0 cos ( x ) 0 < x < 3 .
Постройте несколько графиков с помощью hold on . Задайте интервалы графического вывода с помощью второго входного параметра fplot . Задайте цвет построенных линий как синее использование ‘b’ . Когда вы строите несколько графиков в тех же осях, пределы по осям настраивают, чтобы включить все данные.

Specify Line Properties и маркеры отображения
Постройте три синусоиды с различными фазами. Для первого используйте ширину линии 2 точек. Для второго задайте пунктирный стиль красной линии с круговыми маркерами. Для третьего задайте голубой, стиль точечной линии тире с маркерами звездочки.

Modify Line Properties после создания
Постройте sin(x) и присвойте функциональный объект линии переменной.

Измените линию в точечную красную линию при помощи записи через точку, чтобы установить свойства. Добавьте перекрестные маркеры и установите цвет маркера на синий.

Построение нескольких графиков в тех же осях
Постройте два графика с помощью hold on .

Добавление заголовка и подписей по осям и метки деления формата
График sin ( x ) от — 2 π к 2 π использование указателя на функцию. Отобразите линии сетки. Затем добавьте заголовок и пометьте ось X и ось Y .

Используйте gca получить доступ к объекту текущей системы координат. Отобразите отметки деления вдоль оси X с промежутками в π / 2 . Отформатируйте значения деления оси X путем установки XTick и XTickLabel свойства объекта осей. Подобные свойства существуют для оси Y .

Входные параметры
f — Функция, чтобы построить
указатель на функцию
Функция, чтобы построить в виде указателя на функцию к именованной или анонимной функции.
Задайте функцию формы y = f(x) . Функция должна принять векторный входной параметр и возвратить векторный выходной аргумент, одного размера. Используйте операторы массивов вместо матричных операторов для лучшей эффективности. Например, используйте .* ( times ) вместо * ( mtimes ).
Примечание
Поддержка входных параметров вектора символов будет удалена в будущем релизе. Используйте указатели на функцию вместо этого.
Пример: f = @(x) sin(x);
xinterval — Интервал для x
[–5 5] (значение по умолчанию) | двухэлементный вектор из формы [xmin xmax]
Интервал для x В виде двухэлементного вектора из формы [xmin xmax] .
funx — Параметрическая функция для координат x
указатель на функцию
Параметрическая функция для x координирует в виде указателя на функцию к именованной или анонимной функции.
Задайте функцию формы x = funx(t) . Функция должна принять векторный входной параметр и возвратить векторный выходной аргумент, одного размера. Используйте операторы массивов вместо матричных операторов для лучшей эффективности. Например, используйте .* ( times ) вместо * ( mtimes ).
Пример: funx = @(t) sin(2*t);
funy — Параметрическая функция для координат y
анонимная функция | указатель на функцию
Параметрическая функция для y координирует в виде указателя на функцию к именованной или анонимной функции.
Задайте функцию формы y = funy(t) . Функция должна принять векторный входной параметр и возвратить векторный выходной аргумент, одного размера. Используйте операторы массивов вместо матричных операторов для лучшей эффективности. Например, используйте .* ( times ) вместо * ( mtimes ).
Пример: funy = @(t) cos(3*t);
tinterval — Интервал для t
[-5 5] (значение по умолчанию) | двухэлементный вектор из формы [tmin tmax]
Интервал для t В виде двухэлементного вектора из формы [tmin tmax] .
ax Объект осей
объект осей
Объект осей. Если вы не задаете объект осей, то fplot использует текущую систему координат ( gca ).
LineSpec — Стиль линии, маркер и цвет
вектор символов | строка
Стиль линии, цвет и маркер задается как символ или строка символов. Символы могут появиться в любом порядке. Вы не должны задавать все три характеристики (стиль линии, маркер и цвет). Например, если вы не используете стиль линии и задаете маркер, затем график показывает только маркер и никакую линию.
Пример: ‘—or’ красная пунктирная линия с круговыми маркерами
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Аргументы name-value
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, . NameN, ValueN .
Пример: ‘Marker’,’o’,’MarkerFaceColor’,’red’
Перечисленные здесь свойства являются только подмножеством. Для полного списка см. Свойства FunctionLine или ParameterizedFunctionLine Properties .
MeshDensity — Количество точек оценки
23 (значения по умолчанию) | номер
Количество оценки указывает в виде номера. Значением по умолчанию является 23 . Поскольку fplot использует адаптивную оценку, фактическое количество точек оценки больше.
Color ‘LineColor’
[0 0.4470 0.7410] (значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | ‘r’ | ‘g’ | ‘b’ | .
Цвет линии в виде триплета RGB, шестнадцатеричного цветового кода, названия цвета или краткого названия.
Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1] ; например, [0.4 0.6 0.7] .
Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша ( # ) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F . Значения не являются чувствительными к регистру. Таким образом, цветовые коды ‘#FF8800’ , ‘#ff8800’ , ‘#F80’ , и ‘#f80’ эквивалентны.
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB ® использование во многих типах графиков.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Пример: ‘blue’
Пример: [0 0 1]
Пример: ‘#0000FF’
LineStyle — Стиль линии
‘-‘ (значение по умолчанию) | ‘—‘ | ‘:’ | ‘-.’ | ‘none’
Стиль линии в виде одной из опций перечислен в этой таблице.
![]()
![]()
![]()
![]()
LineWidth ‘LineWidth’
0.5 (значение по умолчанию) | положительное значение
Ширина линии в виде положительного значения в точках, где 1 точка = 1/72 дюйма. Если у линии есть маркеры, ширина линии также влияет на края маркера.
Ширина линии не может быть более тонкой, чем ширина пикселя. Если вы устанавливаете ширину линии на значение, которое меньше ширины пикселя в вашей системе, отображения линии как один пиксель шириной.
Marker — Символ маркера
‘none’ (значение по умолчанию) | ‘o’ | ‘+’ | ‘*’ | ‘.’ | .
Символ маркера в виде одного из значений перечислен в этой таблице. По умолчанию объект не отображает маркеры. Определение символа маркера добавляет маркеры в каждой точке данных или вершине.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
MarkerEdgeColor — Цвет контура маркера
‘auto’ (значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | ‘r’ | ‘g’ | ‘b’ | .
Цвет контура маркера в виде ‘auto’ , триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. Значение по умолчанию ‘auto’ использует тот же цвет в качестве Color свойство.
Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1] ; например, [0.4 0.6 0.7] .
Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша ( # ) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F . Значения не являются чувствительными к регистру. Таким образом, цветовые коды ‘#FF8800’ , ‘#ff8800’ , ‘#F80’ , и ‘#f80’ эквивалентны.
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
How to use linspace in Matlab
The linspace function allows the programmer to produce an array, matrix, or vector of numbers that are linearly spaced. Suppose you want to create an array A of size 8 with values of 1, 2, 3, 4, 5, 6, and 7. This can be done by using following command “A= <0; 1; 2; 3; 4; 5; 6; 7>” . Then what is the purpose of the Linspace MATLAB function?
It allows you to bypass the old time-consuming method where we had to plug in all the numbers. As in the above example, to create an array of size 8, we had to plug in all the numbers from 0 to 7 and this will give us the output of 8 by 1 array. An easier way to do this is to use Linspace which will give you linearly spaced values starting from a given starting point to the specified ending point. It is similar to the colon operator “:”, but gives direct control over the number of points.
Syntax of Linspace function
Method 1:

Here x and y are the two numbers specified by the user. These numbers can be real or complex. The function will return equally spaced 100 points by default between the numbers x and y. If x is smaller than y, the vector will be of ascending values whereas if x is greater than y, then it will generate values in descending order.
Let’s understand this through an example.
Example 1:

This command will return a row vector M of size 100 with numbers ranging from 0 to 10 in ascending order.
Example 2:
Let’s swap x and y in example 1 to check what happens. Then the above command becomes: 
After executing this command, you will observe that the numbers are now printed in descending order from 10 to 0. So, you can also use linspace command to create a vector of numbers in descending order.
Method 2:
The above linspace matlab command returns 100 equally spaced points. Suppose we want an array of size n instead of 100. The following command allows you to create a row vector of size ‘n’ with numbers in an interval [x, y].

Example 3:
Let’s say you want 5 values in an interval of [0,10]. Then, set x=0, y=10, and n=5 and run the following command in your MATLAB.

Output: 
You can also obtain a column vector by taking a transpose of M.
Example 4:
Let’s consider another example in which you are asked to create a vector of complex numbers of size 7 where x= 2+6i and y=3+4i. 
Output: 
Example 5:
In addition to the above mentioned uses, it can be used to create plots. Suppose you want to plot a function y = sin(2*pi*x) for x in the interval [0, 1] using 100 equally spaced points.

Output: 
The Linspace Matlab command is almost similar to the colon operator “:” but the main difference is that with the colon operator, you can define the step size between the successive elements, and the length of the vector is calculated by the function based on starting point, ending point and step size. On the other hand, linspace allows you to define the length of the vector and return a vector with a step size equal to the total length of an array divided by a specified length.