필터 지우기
필터 지우기

Rotate matrix with interp2

조회 수: 4 (최근 30일)
Sung YunSing
Sung YunSing 2019년 11월 11일
댓글: Sung YunSing 2019년 11월 14일
I am trying to rotate a matrix to a specific direction(vector) by using interp2.
I input Matrix and a vector.
Matrix will be the object I want to rotate(2-D matrix of nxm).
The direction which i want to rotate to will be shown as a (unit) vector.
The vector will need to be a 2x2 matrix.
The first column will be the vector of direction and the second column will be the orthogonal vector of the first.
The logic of what I want to do is like doing a rotation matrix on Cartesian coordinate system, but the sin and cos will be replaced as a unit vector.
But what I get is just a matrix full of NaN.
function [Mq]=Rotation(Matrix,vector)
ly=length(Matrix(:,1));
lx=length(Matrix(1,:));
x=1:lx;
y=1:ly;
[X,Y]=meshgrid(x,y);
Xq=X*vector(1,1)-Y*vector(2,1);
Yq=X*vector(1,2)+Y*vector(2,2);
Mq=interp2(X,Y,Matrix,Xq,Yq);
end
  댓글 수: 2
darova
darova 2019년 11월 11일
Maybe you didn't define ph?
darova
darova 2019년 11월 12일
I think you trying to extrapolate values
123.png

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

채택된 답변

Matt J
Matt J 2019년 11월 12일
This might be what you want.
[X,Y]=meshgrid(x-mean(x),y-mean(y));
  댓글 수: 1
Sung YunSing
Sung YunSing 2019년 11월 14일
thanks a lot ~!

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by