#charts #matlab
#Диаграммы #matlab
Вопрос:
Я хотел бы развить некоторую интуицию для этого языка. В частности, о построении функций на некотором интервале. Вот конкретный пример, который я пытаюсь разработать. Постройте график exp (x) на замкнутом интервале [-2,2]. Я думаю, здесь exp(x) — это обозначение Matlab для e ^ x. Это сценарий, основанный на руководстве, которое я только что прочитал :
x = [-2, 2 ]; y = exp(x); график (x,y)
Результатом является не экспоненциальная кривая, а прямая линия. Что не так с этим скриптом? А также, если кто-нибудь может порекомендовать хорошее руководство для этого, я был бы очень признателен. Результаты Google, которые я нашел, содержат только рабочие примеры.
Комментарии:
1. В этом скрипте нет ничего плохого, но
x = [-2, 2]
он создаст массив из двух точек данных. В то время как вам нужно больше точек данных,x = -2:0.1:2
будет создан вектор значений от -2 до 2 с шагом 0,12. попробуйте использовать
plot( x, y, 'o-' )
, чтобы увидеть точки, а также соединяющую их линию, чтобы сделать комментарий Ринкерта очевидным
Ответ №1:
Два способа настройки количества точек, отображаемых (выборок) функции, заключаются в том, чтобы либо указать интервал между точками, либо количество точек, которые должны быть отображены. plot()
Функция построит векторы x
, и y
которые построят количество точек, равное длине вектора x
. Аналогичная идея для точечной диаграммы листа Excel, которая соединяется линией.
Установка интервала между точками построения
X_Minimum = -2;
X_Maximum = 2;
Plotting_Interval = 0.25;
x = (X_Minimum: Plotting_Interval: X_Maximum);
y = exp(x);
plot(x,y,'o-');
title(num2str(Plotting_Interval) " Interval Between Points");
Установка количества точек построения
X_Minimum = -2;
X_Maximum = 2;
Number_Of_Points = 18;
x = linspace(X_Minimum,X_Maximum,Number_Of_Points);
y = exp(x);
plot(x,y,'o-');
title(num2str(Number_Of_Points) " Points Plotted");
Запускался с использованием MATLAB R2019b
Ответ №2:
Это потому, что вы вводите только две точки в функцию plot():(-2, exp(-2)),(2, exp(2)) .В matlab x amp; y для plot(x, y) являются векторами имеющихся у вас точек, но не их интервалов.