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

4 Ansichten (letzte 30 Tage)
Emmanuel
Emmanuel am 13 Mär. 2014
Kommentiert: Emmanuel am 13 Mär. 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)

Antworten (2)

nl2605
nl2605 am 13 Mär. 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 Kommentare
Chris C
Chris C am 13 Mär. 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 am 13 Mär. 2014
thanks. that was quite helpful the coresponding plot matches my manually generated graph.

Melden Sie sich an, um zu kommentieren.


Joseph Cheng
Joseph Cheng am 13 Mär. 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)

Kategorien

Mehr zu Historical Contests finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by