2016-10-19 12 views
0

У меня возникли проблемы с созданием 2D-графика функции в зависимости от одной переменной. Сокращая длинную историю, функция может принимать только скалярные значения; он не принимает векторы. Следовательно, невозможно использовать, например, plot(vector, function(vector)), для диапазона независимых значений vector. Я также пытался использовать цикл, но мои знания ограничены, и он ни в коем случае не работал.Построение с использованием скалярных значений. (входные аргументы векторного/матричного/массива не принимаются кодом.)

Резюмируя: Я хочу построить function(x) против x, однако function может иметь только скалярный вход, поэтому принимать x=-10:1:10, а затем заговор против его function не будет работать. Может ли кто-нибудь указать мне в правильном направлении?

+0

Hi @Adriaan - Спасибо за ответ. Я это понимаю, но тот факт, что функция не принимает вектор, означает, что это не может быть иначе. Я спрашиваю здесь, есть ли другой способ построения всех этих скалярных выходов, которые соответствуют диапазону входных значений? Есть ли способ «обойти это»? – MrX

ответ

-1
vector = -10:10 % set up your vector 
output = zeros(size(vector); % initialise the output 
for ii = 1:numel(vector)% loop over all elements of your vector 
    output(ii) = function(vector(ii)); % feed the function a single element at a time 
end 

plot(vector,output) % Now you can plot the two vectors