matlab怎么把直角坐标变成极坐标

如题所述

首先,matlab 本身提供了把直角坐标转化为极坐标的函数 cart2pol。调用方法为:

[TH,R] = cart2pol(X,Y)  TH 是极坐标的角度坐标,R 是距离坐标。

[TH,R,Z] = cart2pol(X,Y,Z) 这个函数同时支持3维直角坐标到柱坐标的转换。


如果因为是作业或者练习,一定要自己写一个的话,请继续往下看。

考虑到这个程序的性质,编成一个函数比较适合。编写这个函数需要用到直角坐标与极坐标的数学关系。考虑到输入参数可能是一个向量或矩阵,关系式里面的运算符应该用加点运算符。


函数代码如下:

function [ TH,R ] = mycart2pol(X,Y)

%this function transforms corresponding elements of data

%stored in Cartesian coordinates X,Y to polar coordinates

%angle TH and radius R.

R=(X.^2+Y.^2).^0.5;

TH=atan(Y./X);

end


测试结果如下:

温馨提示:答案为网友推荐,仅供参考