what does "^" and ".^" difference ?

surely "^" and ".^" had difference in their using. but what exactly they does?

 Accepted Answer

>> [1 2;3 4]^2
ans =
7 10
15 22
>> [1 2;3 4].^2
ans =
1 4
9 16
>> [1 2; 3 4]*[1 2; 3 4] %same as ^2
ans =
7 10
15 22
>> [1 2; 3 4].*[1 2;3 4] %same as .^2
ans =
1 4
9 16
The formal names of the operations are mpower (^) and power (.^) . ^ is for matrix multiplication repeated, where .^ is for element-by-element multiplication repeatedly.

More Answers (1)

The dot is a element wise operator, this means that each element is operated on by the element of the same index when you use this. The other "^" will raise any value (scalar, or matrix) to the power of it. A bit difficult to explain in words here is an example:
a = [1 2;3 4]
b = [2 2;2 2]
a.^b = [1 4;9 16]
As you can see it went element by element and applied the operator. 1^2, 2^2; 2^3, 2^4
In contrast if you do:
a = [1 2;3 4]
b = [2 2;2 2]
a^b = %ERROR must be a scalar
a^2 = [1 4;9 16]
The dot is more applicable to other operators like multiplication and division its less used but still often needed as matlab always assumes matricies are being used first.

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!