incorrect number of input arguments in imagesc

조회 수: 10 (최근 30일)
J K
J K 2019년 6월 2일
댓글: Rena Berman 2019년 10월 28일
Hi guys,
Matlab says:
Error using image
Incorrect number of arguments.
Error in imagesc (line 52)
hh = image(varargin{:}, 'CDataMapping', 'scaled');
Error in test4 (line 12)
imagesc(w, kx, ky, absolute);
And my code is on the photo. Could someone please help me correct the errors.

답변 (1개)

Walter Roberson
Walter Roberson 2019년 6월 2일
You are calling
imagesc(w, kx, ky, absolute);
Your w and kx are vectors and would be interpreted as being in the x and y position slots of the call to image() that is made. Your ky is a vector and would be interpreted as being in the C (color information) slot in the call to image(). Your absolute is a 3D array and would be interpreted as being in the clim slot in the call to imagesc() . However, imagesc() notices that the value there is not a vector of 2 elements and so does not recognize it as being intensity limits, and so just passes it as data to image(). image() then complains because it has been passed too many numeric inputs.
This is not just a matter of you needing to drop one of the inputs: image() and imagesc() and imshow() can never handle 3D volumes such as your absolute array is.
To visualize 3D arrays, you can use one of:
  • implay (view the slices as time)
  • volumeViewer() or volshow() (3D viewer)
  • slice()
  • isosurface()
  • vol3d v2 from File Exchange
  댓글 수: 6
Walter Roberson
Walter Roberson 2019년 6월 4일
If you have a 3D array of computed values, then slice() can extract for display. slice() uses interp3() internally
Walter Roberson
Walter Roberson 2019년 6월 5일
Go back to your original code that created the 3D arrays and slice() the result.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Explore and Edit Images with Image Viewer App에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by