Subtracting a Vector from a Scalar-Multiplied Matrix

2 次查看(过去 30 天)
Let's say that we have the following two matrices and we want to calculate . We know that it is not defined, but MATLAB gives me the following result.Could anyone explain me why that happens?
C=[1 2; 2 1]
C = 2x2
1 2 2 1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
E=[1;2]
E = 2x1
1 2
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
3*C-E
ans = 2x2
2 5 4 1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
  5 个评论
Athanasios Paraskevopoulos
@Torsten Yes this is my problema tha it is defined in Matlab but not in Maths.
This is what I want to show to my students
Torsten
Torsten 2024-4-5
It's just a convention to get rid of the bsxfun - there is nothing to explain (or even justify).

请先登录,再进行评论。

采纳的回答

Steven Lord
Steven Lord 2024-4-4
  8 个评论
Paul
Paul 2024-4-5
Even prior to R2016B, as far back as to the very first release as far as I know, Matlab implemented scalar expansion. Code like this has always worked
eye(2) - 1
ans = 2x2
0 -1 -1 0
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
even though subtracting a scalar from a matrix is not mathematically rigorous.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by