作为标题我只有theta/rho数据线方程为
x*cos(theta)+y*sin(theta)=rho
如何在matlab中用这些数据绘制直线?有没有以θ和ρ为输入函数?感谢
13z8s7eq1#
只要使用一些简单的代数来找出y与x的关系。取某个范围为x:
x = -10:10; y = (rho - x* cos(theta) )/ sin(theta); plot(x,y)
vkc1a9a22#
您可以只使用内置的polar functionpolar(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的对应元素中的二维笛卡尔坐标变换为极坐标。
s5a0g9ez3#
θ以度为单位,因此sind和cosd应应用于sin和cos。
sind
cosd
sin
cos
x = -10:10; y = (rho - x* cosd(theta) )/ sind(theta); plot(x,y)
3条答案
按热度按时间13z8s7eq1#
只要使用一些简单的代数来找出y与x的关系。
取某个范围为x:
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的对应元素中的二维笛卡尔坐标变换为极坐标。
s5a0g9ez3#
θ以度为单位,因此
sind
和cosd
应应用于sin
和cos
。