I Want to perform element wise matrix multiplication

13 ビュー (過去 30 日間)
Nithya SIvasamy
Nithya SIvasamy 2017 年 6 月 12 日
回答済み: Muhammed Musa 2020 年 11 月 26 日
I have used the following code but getting an error message
I1=imread('abc.gif');
a=I1(1:3,1:3);
b=[-3 4 5;6 -7 1;-2 -4 -6];
c=a.*b;
The error message obtained is listed below Error using .* Integers can only be combined with integers of the same class, or scalar doubles.
How to clear this error
  1 件のコメント
Stephen23
Stephen23 2017 年 6 月 12 日
"I Want to perform element wise matrix multiplication"
This is a contradiction in terms: in MATLAB it is possible to perform element-wise multiplication OR matrix multiplication, but not both at the same time:

サインインしてコメントする。

採用された回答

KSSV
KSSV 2017 年 6 月 12 日
I1=imread('abc.gif');
a=I1(1:3,1:3);
b=uint8([-3 4 5;6 -7 1;-2 -4 -6]);
c=a.*b;
You see you can multiply only same classes. Class of a is uint8, so you need to convert b into the same class.
  1 件のコメント
Walter Roberson
Walter Roberson 2017 年 6 月 12 日
You would probably be better off with
a = double( I1(1:3,1:3) );
b = [-3 4 5;6 -7 1;-2 -4 -6];
c = a.*b;

サインインしてコメントする。

その他の回答 (1 件)

Muhammed Musa
Muhammed Musa 2020 年 11 月 26 日
A = [1 2 3 4];
B = [9 8 7 6];
A.*B =

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by