simple multiplication / summation using matlab

i want to do some complicate calculations by matlab of following
n=0:65119;
x = cos(3.6*n)*sin(3.6*n);
y = x*x
it shows errors however, saying
Error in ==> ex3_1_2 at 3 x = cos(3.6*n)*sin(3.6*n);
what's happening?

2 Comments

do you want n to be 0:65119 or 0.65119?
that is a summation, summing up from n=0 to n=65119. as a result it must be 0:65119.

Sign in to comment.

 Accepted Answer

The MATLAB operator "*" is matrix multiplication. Element-by-element multiplication is ".*"
cos(3.6*n) .* sin(3.6*n)

5 Comments

cool.
thanks for ur answer.
sry to bother u again. now the modified code becomes
n=0:65119;
x = cos(3.6.*n).*sin(3.6.*n);
y = x.*x
the result turns out to a series of numbers? so strange as mathematically it should have been a single number??
matlab result:
"n" is a vector, "cos(3.6 * n)" is a vector , "cos(3.6 * n) .* sin(3.6 * n)" is a vector, then "x .* x" is a vector also. Why do you expect a scalar? Do you want:
y = x * transpose(x)
is not the result of that mathematical equation a scalar/single number?? is not it a scalar summation?? or i just made wrong code that is a vector???
You did not happen to show us the mathematical notation for what you are trying to do.
In MATLAB, 0:65119 is a row vector, 1 x 65120 in length. Matrix multiplication of two row vectors cannot be done: Matrix multiplication (mathematically) requires that the "inner dimensions" must be equal. Matrix multiplication is defined for (1 x 65120) * (65120 x 1) (giving a 1 x 1 result), and is defined for (65120 x 1) * (1 x 65120) (giving a 65120 x 65120 result), but it is not defined for (1 x 65120) * (1 x 65120)
It is mathematically possible to dot-product or cross-product vectors that have the same orientation; we cannot tell whether that is your intention.

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!