2014-05-23 2 views
0

나는 오류가없는 코드를 만들었지 만 그렇지 않은 것 같아서 왜 그리 당황 스럽습니까? 내 행렬 A, B 및 C는 64x64 행렬의 값을 포함합니다 (실행에 따라 크기가 변경 될 수 있지만 모두 한 번에 같은 크기로 유지됩니다).데이터 크기 서핑 오류

s = size(A) 

figure(1) 
set(gcf, 'renderer', 'zbuffer'); 
quiver(1:s(2),1:s(1),A,B); 
hold on; 
pcolor(1:s(2),1:s(1),C); 

figure(2) 
surf(s(2),s(1),A); 

figure(3) 
surf(s(2),s(1),B); 

figure(4) 
surf(s(2),s(1),C); 

내가 확인하기 사이즈 (A)를 사용하여 시도

Error using surf (line 78) 
Data dimensions must agree 

말한다, 그것은 64 × 64이고, S (1) (64)와 S (2) (64) =.

몇 가지 이유로 surf가 세 번째 인수의 열에 행 차원을 적용하기 때문에 s (2)가 삽입되었습니다. (저는이 문제로 인해 당황 스럽지만 어쨌든 문제는 아닙니다.)

보고 싶은 사람 : http://www.mathworks.com/help/matlab/ref/surf.html 서핑 (X, Y, Z) 설명입니다.

답변

1

surf(X,Y,Z) X와 Y는 벡터이어야하며 사용자의 경우에는 스칼라가 아니어야합니다. 귀하의 경우에는 s (1) 대신 1x64 벡터를 넣어야합니다.

정말, 서핑은 원하는 것입니까?

+0

AAAAAH 알다시피, 나는 너무 바보 같아. 고마워! – Vissenbot