Les premières choses d'abord.
JollyRoger réponse est correcte, cependant, laissez-nous voir ce que vous faites mal. Vous essayez de tracer Y
vs X
.
plot(Y,X)
Cependant votre X
est un vecteur alors Y
est un scalaire. De plus, vous devez inverser la commande comme X
est votre variable indépendante
plot(X,Y)
Alors, que pouvez-vous faire pour Y un vecteur d'information pour chaque X
tenant -Value? Vous devez enregistrer pour chaque entrée:
for k=1:40
Y(k) = 6113 * cos(2*pi*200*X(k) + 1508);
end
d'abord la Y
variable est index et devient un vecteur. Comme vous le voyez, j'ai changé votre variable d'index en k
car i
est aussi le nombre complexe.
Si vous essayez de tracer cette plot(X,Y)
, vous obtiendrez une erreur X
et Y
dont ont la même longueur, X
a plus de valeurs. Donc, vous devez adapter la commande du terrain:
plot(X(1:40),Y)
Si vous voulez Y
avoir la même quantité de valeurs que X
vous devez faire la boucle aussi longtemps que votre vecteur X
,
for k=1:length(X)
Y(k) = 6113 * cos(2*pi*200*X(k) + 1508);
end
plot(X,Y)
Pour finir, essayez de pré-allouer vos variables avant de les utiliser dans une boucle for pour améliorer le temps d'exécution du code. par exemple:
Y=zeros(size(X));
for k=1:length(X)
Y(k) = 6113 * cos(2*pi*200*X(k) + 1508);
end
plot(X,Y)