where am i going wrong? i get errors when i multiply the functions

3 vues (au cours des 30 derniers jours)
Emmanuel
Emmanuel le 13 Mar 2014
Commenté : Emmanuel le 13 Mar 2014
Plot the following function from t=1 to t=2, sin(2*pi*3*t)*sin(2*pi*15*t). Label both axes, and give the plot a title. so this is the code i wrote but i keep get error. i am new at using matlab. I would like to know what i am doing wrong.
t= (1:1.1,2); x= sin(2*pi*3*t) y= sin(2*pi*15*t) c= (x*y)

Réponses (2)

nl2605
nl2605 le 13 Mar 2014
for t = 1:2
x(t) = sin(2*pi*3*t);
y(t) = sin(2*pi*15*t);
c(t) = x(t).* y(t);
end
This should work
  3 commentaires
Chris C
Chris C le 13 Mar 2014
The difference is the ".*" part when you multiply the two variables. The period tells matlab that you want to multiply each array element by the corresponding element in the other array instead of performing matrix multiplication.
Emmanuel
Emmanuel le 13 Mar 2014
thanks. that was quite helpful the coresponding plot matches my manually generated graph.

Connectez-vous pour commenter.


Joseph Cheng
Joseph Cheng le 13 Mar 2014
couple of things with your line.
  1. for the t=1:1.1:2 are you attempting to get t=1 to 2 with increments of .1?if so it should look more like t=1:.1:2;
  2. you should have a ";" after each function execution or atleast a "," to separate what you are doing. if you don't it will try to execute
t= (1:.1:2); x= sin(2*pi*3*t);y= sin(2*pi*15*t);c= (x.*y) as one single command.
3. the c = (x*y) will also give an error when it gets that far due to the matrix multiplication dimension mismatch. you'll have to use the element-by-element multiplication ".*". See element-by-element multiplication finally your line should look like
t= (1:.1:2); x= sin(2*pi*3*t);y= sin(2*pi*15*t);c= (x.*y)

Catégories

En savoir plus sur Signal Generation and Preprocessing dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by