Subtracting two matrices of different size element by element
3 ビュー (過去 30 日間)
古いコメントを表示
Algorithms Analyst
2013 年 2 月 21 日
コメント済み: Image Analyst
2014 年 9 月 13 日
Hi every one
is there any way how to subtradt two matrices of different dimension let say A=ones(40) and B=ones(12)
How can we perform subtraction like S=A-B.
Thanks
0 件のコメント
採用された回答
Azzi Abdelmalek
2013 年 2 月 21 日
% ----------your data-------
x=magic(4);
y=magic(2);
%-----------The code-----------
[n,m]=size(x);
[n1,m1]=size(y);
z=zeros(n,m);
z(1:n1,1:m1)=y
out=x-z
2 件のコメント
rana Banik
2014 年 9 月 13 日
編集済み: Image Analyst
2014 年 9 月 13 日
doesn't work! I have this function to perform.
distance=IMM-c;
>>whos
IMM= 132x116x2 double
c= 132x348x2 double
I have also performed bsxfun command but each time command window says error in array mismatch!!! have any other way ??
Image Analyst
2014 年 9 月 13 日
Azzi's method does not subtract the entire arrays - that is impossible. You either have to resize one of them like I suggested in my answer, or just subtract some overlapping part, like Azzi's answer which the original poster accepted. rana, for your situation you need to subtract only the first 116 columns
distance = IMM - c(:,1:size(IMM, 2), :);
It would be more robust to actually take the minimum of each dimension of the two arrays to determine the ending row, column, and third dimension.
その他の回答 (1 件)
Image Analyst
2013 年 2 月 21 日
Not unless you resize one of them. But actually we'd need an actual example with actual arrays so we can understand your thought process. Please give us an example where it does exactly what you want and we can maybe tell you how to achieve that.
3 件のコメント
Thorsten
2013 年 2 月 21 日
It would be helpful if you give an example, e.g., what should be the result of
[1 2 3] - [4 5]
参考
カテゴリ
Help Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!