2013-06-10 2 views
0

matlab에이 함수를 그려보고 싶습니다. f (x, y) = 0.25 * [sin² (50 (x² + y²)^0.1) + 1.0]; 그래서 내가 작성한 것을 heres :matlab에 플로팅 함수와 관련된 문제

>> x = -100 : 1 : 100; //where x varies 
>> y = -100 : 1 : 100; //where y varies 
>> A = (power(x, 2)+ power(y, 2)); 
>> B = 50 * A; 
>> C = sin(power(B,0.1)); 
>> z = (power(A,0.25))*((power(C,2)+1)); 
??? Error using ==> mtimes 
Inner matrix dimensions must agree.// how can i resolve this error?? 

도움말!

답변

0

요소 곱셈 (.*)을 원할 때 행렬 곱셈 (*)을 사용하기 때문에 오류가 발생합니다. 코드가 변경된 경우에도 xy은 벡터이므로 코드가 불완전합니다. 값 배열에 대한 함수를 계산하려고합니다. 이것은 meshgrid을 사용하여 수행 할 수 있습니다. 더 많은 정보가 here입니다. 일부 회전으로

x = -100 : 1 : 100; 
y = -100 : 1 : 100; 
[X,Y] = meshgrid(x,y); 
A = (power(X, 2)+ power(Y, 2)); 
B = 50 * A; 
C = sin(power(B,0.1)); 
z = (power(A,0.25)).*((power(C,2)+1)); 
surf(z) 
xlabel('x') 
ylabel('y') 
zlabel('z') 

, 그림은 다음과 같이 표시됩니다

enter image description here

+0

을 아 많은 도움이됩니다 sooo를 감사합니다 – JAZak