Division of two Multidimensional array
이전 댓글 표시
Hi
I have two multidimensional array say A (30x10x30) & B(30x10x30). I want to divide the elements of A by the corresponding elements of B.
How to do it.
I am not getting corrrect result by diving like this A./B
댓글 수: 6
Image Analyst
2021년 7월 11일
That should work. Please post your arrays and tell us, for some particular location, what you're getting and what you thought you should get.
save('answers.mat', 'A', 'B');
mukesh bisht
2021년 7월 11일
Image Analyst
2021년 7월 11일
Uh, ok, but I'm still waiting for you to answer "tell us, for some particular location, what you're getting and what you thought you should get."
Like C(1,3,5) is 150 when it should be
I'll check back later.
load('matlab.mat')
C = A ./ B;
numSlices = size(C, 3);
for k = 1 : numSlices
subplot(1, 3, 1);
imshow(A(:, :, k), [], 'InitialMagnification', 1000);
axis('on', 'image');
impixelinfo;
title('A', 'FontSize', 20);
subplot(1, 3, 2);
imshow(B(:, :, k), [], 'InitialMagnification', 1000);
axis('on', 'image');
impixelinfo;
title('B', 'FontSize', 20);
subplot(1, 3, 3);
imshow(C(:, :, k), [], 'InitialMagnification', 1000);
axis('on', 'image');
impixelinfo;
title('C', 'FontSize', 20);
drawnow;
pause(0.4);
end
mukesh bisht
2021년 7월 11일
Image Analyst
2021년 7월 11일
OK, I get
load('matlab.mat')
C = A ./ B;
fprintf('A(7,1,1) = %f.\n', A(7,1,1));
fprintf('B(7,1,1) = %f.\n', B(7,1,1));
fprintf('C(7,1,1) = %f.\n', C(7,1,1));
A(7,1,1) = 0.000055.
B(7,1,1) = 0.001192.
C(7,1,1) = 0.045776.
Explain why you get 0 for A and B. Did you upload the wrong data?
mukesh bisht
2021년 7월 11일
답변 (1개)
you can iterate the 2D division
A = rand(30,10,30);
B = rand(30,10,30);
sz=size(A);
r = cell(sz(3),1);
for i = 1:sz(3)
r{i} = A(:,:,i)./B(:,:,i); % in this cell array you will have the divisions
end
카테고리
도움말 센터 및 File Exchange에서 Images에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!