2024-05-15 00:28:06 发布
网友
有不同坐标系之间的转换函数吗?
例如,Matlab有[rho,phi] = cart2pol(x,y)用于从笛卡尔坐标到极坐标的转换。好像应该是在纽比或者希比。
[rho,phi] = cart2pol(x,y)
现有的答案可以简化为:
from numpy import exp, abs, angle def polar2z(r,theta): return r * exp( 1j * theta ) def z2polar(z): return ( abs(z), angle(z) )
甚至:
polar2z = lambda r,θ: r * exp( 1j * θ ) z2polar = lambda z: ( abs(z), angle(z) )
注意这些也适用于数组!
rS, thetaS = z2polar( [z1,z2,z3] ) zS = polar2z( rS, thetaS )
使用numpy,可以定义以下内容:
import numpy as np def cart2pol(x, y): rho = np.sqrt(x**2 + y**2) phi = np.arctan2(y, x) return(rho, phi) def pol2cart(rho, phi): x = rho * np.cos(phi) y = rho * np.sin(phi) return(x, y)
您可以使用cmath模块。
如果数字被转换成复杂格式,那么对数字调用polar方法就更容易了。
import cmath input_num = complex(1, 2) # stored as 1+2j r, phi = cmath.polar(input_num)
现有的答案可以简化为:
甚至:
注意这些也适用于数组!
使用numpy,可以定义以下内容:
您可以使用cmath模块。
如果数字被转换成复杂格式,那么对数字调用polar方法就更容易了。
相关问题 更多 >
编程相关推荐