如何在matlab中利用theta/rho数据绘制直线

dw1jzc5e  于 2022-11-24  发布在  Matlab
关注(0)|答案(3)|浏览(538)

作为标题
我只有theta/rho数据
线方程为

x*cos(theta)+y*sin(theta)=rho

如何在matlab中用这些数据绘制直线?
有没有以θ和ρ为输入函数?
感谢

13z8s7eq

13z8s7eq1#

只要使用一些简单的代数来找出yx的关系。
取某个范围为x:

x = -10:10;
 y = (rho - x* cos(theta) )/ sin(theta);
 plot(x,y)
vkc1a9a2

vkc1a9a22#

您可以只使用内置的polar function
polar(theta,rho)创建Angular theta相对于半径rho的极坐标图。theta是从x轴到以弧度指定的半径向量的Angular ; rho是以数据空间单位指定的向量半径的长度。
您也可以使用pol 2cart()将极坐标转换为笛卡尔坐标,然后使用常规绘图(x,y)函数。
[X,Y] = pol 2cart(THETA,RHO)将存储在THETA和RHO的相应元素中的极坐标数据转换为二维笛卡尔坐标或xy坐标。数组THETA和RHO的大小必须相同(或者其中一个可以是标量)。THETA中的值必须以弧度为单位。
还有一个cart 2 pol()函数可以执行反向转换。
[THETA,RHO] = cart 2 pol(X,Y)将存储在阵列X和Y的对应元素中的二维笛卡尔坐标变换为极坐标。

s5a0g9ez

s5a0g9ez3#

θ以度为单位,因此sindcosd应应用于sincos

x = -10:10;
y = (rho - x* cosd(theta) )/ sind(theta);
plot(x,y)

相关问题