2010-05-06 3 views
2

저도 평범하지 않은 배경을 만든 다음 Matlab을 사용하여 그 위에 몇 가지 테스트 데이터를 생성하고 싶습니다. 나는이 질문에 일찍 질문했을 때 명확하지 않았습니다. 따라서 간단한 예제의 경우평행하지 않은 배경에서 데이터 생성

for i = 1:10 
for j = 1:10 
f(i,j)=X.^2 + Y.^2 
end 
end 

여기서 X와 Y는 이미 정의되어 있으며 평면에 그려집니다. 함수 자체를 왜곡하고 싶지는 않지만 표면이 올라간다는 것은 어느 정도 정도 변경된 것입니다. 좀 더 명확 해지기를 바랍니다.

+1

는'edit'라는 회색 단어입니다. 그것을 클릭하면 질문을 편집 할 수 있습니다. – Jonas

+0

동일한 질문을 여러 번 게시하지 마십시오. 이전 질문을 수정해야하는 경우 편집 링크를 클릭하여 수정하십시오. 질문 아래에 '수정'링크가 표시되지 않으면 2 개의 다른 계정 (http://stackoverflow.com/users)이 있기 때문일 수 있습니다. OpenID 로그인을 시도하고이 계정을 병합하여 질문을 복제하지 않아도됩니다. – gnovice

답변

1

신호를 생성하는 것과 같은 방법으로 배경을 만들거나, 모든 픽셀에 값을 적용하는 함수를 사용하여 전경을 만듭니다. 그런 다음 배경에 전경을 추가하면 작업이 완료됩니다.

기능 NDGRID이 유용 할 수 있습니다.

예를 들어, 당신은 쓸 수 있습니다 :

질문의 왼쪽 아래에서
%# create x and y coordinates for every pixel in the image 
[xx,yy] = ndgrid(1:10,1:10); 

%# create foreground 
foreground = xx.^2 + yy.^2; 

%# create an angled background, where y = -10*x; 
background = -xx*10; 

%# show all 
figure 
subplot(1,3,1),imshow(foreground,[]) 
subplot(1,3,2),imshow(background,[]) 
subplot(1,3,3),imshow(foreground+background,[])