MATLAB Solving MatLab Misunderstanding: Element-by-Element and Point-wise

  • Thread starter Thread starter steve2510
  • Start date Start date
  • Tags Tags
    Matlab
AI Thread Summary
The discussion centers on understanding the use of the period operator (.) in MATLAB, particularly in the context of element-wise operations versus traditional matrix operations. The period operator is crucial for performing element-by-element array multiplication, which is necessary when working with arrays of the same size. For instance, using the operator in expressions like y = sqrt(t).*sin(2t) allows for element-wise calculations, while omitting it in y = sqrt(t)*sin(2t) defaults to matrix multiplication, which is not applicable for arrays unless they conform to specific dimensions. The distinction is vital as it affects the outcome of calculations, especially when dealing with vectors and matrices. Clarification was provided that the dot operator is essential for ensuring correct operations on arrays, while traditional multiplication applies to scalars or compatible matrices.
steve2510
Messages
35
Reaction score
0
I'm current learning MatLab before i start my second year of engineering and i don't really understand a fundamental aspect of it. My problem is the use of the period "." and when it is deemed to be necessary.

I've looked up what this operator does and found definitions such as Element by element, Point-wise, ect. My problem is these don't mean much to me, I've done work on vectors and matrices, however matrices work consisted of mostly doing practice problems so maybe i don't full understand the fundamentals of matrices. Is there anyway somebody could explain to me what the period operator actually does.

For example why are these two different
y = sqrt(t).*sin(2t);
y = sqrt(t)*sin(2t);

And
y=(3.^x)./(1+3.^x)
y=(3^x )/ (1+3^x)

Any clarification would be much appreciated, thank you.

P.S I hope this is in the right board
 
Physics news on Phys.org
Dot multiplication .* is used to perform element-by-element array multiplication. An array is either a single row (row vector) or single column (column vector) of some values. For array-array multiplication to work, the arrays must be the same length.

Suppose, you have an array A=[3; 2; 5] which is a 3x1 array and want to multiply it by B=[6; 9; 2] which is another 3x1 array (same lengths), you tell MATLAB to do the following;
Ans=A.*B which multiplies the 2 arrays on an element-by-element basis. This means it multiplies 3x6, 2x9 and 5x2 giving a resultant arry of [18; 18; 10]

Leaving out the dot operator is for matrix multiplication which is differenet.
The 2 examples you provided don't really help to explain the purpose of the dot operator as they are just scalar x scalar examples.
 

Similar threads

Back
Top