2016-10-19 6 views
0

J'ai un peu de mal à essayer de faire un tracé 2D d'une fonction en fonction d'une seule variable. Coupant une longue histoire courte, la fonction peut seulement accepter des valeurs scalaires; il n'acceptera pas les vecteurs. Par conséquent, il n'est pas possible d'utiliser, par exemple, plot(vector, function(vector)), pour une plage de valeurs indépendantes vector. J'ai aussi essayé d'utiliser la boucle, mais mes connaissances sont limitées et cela n'a pas fonctionné.Tracé en utilisant des valeurs scalaires. (Les arguments d'entrée vector/matrix/array ne sont pas acceptés par le code.)

Pour résumer: je veux tracer function(x) vs x, mais function ne peut avoir une entrée scalaire, afin de prendre x=-10:1:10 puis comploter contre function ne fonctionnerait pas. Quelqu'un peut-il me diriger dans la bonne direction?

+0

Salut @Adriaan - Merci pour votre réponse. Je comprends cela, mais le fait que la fonction n'accepte pas un vecteur signifie qu'il ne peut y avoir d'autre moyen. Ce que je demande ici est s'il y a une autre façon de tracer toutes ces sorties scalaires qui correspondent à une gamme de valeurs d'entrée? Y a-t-il un moyen de «contourner»? – MrX

Répondre

-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