matlab - Matlab cart2pol函数
问题描述
Matlab 的 cart2pol() 函数计算 theta 的值是否不同?这是我在使用 cart2pol 转换为极坐标时得出的一个示例。
首先,我用cart2pol 实现它。
N = 8;
x = 1:N; y = x;
[X,Y] = meshgrid(x,y);
[theta,rho] = cart2pol(X-floor(N/2),-(Y-floor(N/2)))
这使
现在,如果我使用以下等式:
注意在 Matlab 中,-1 和 +1 不是必需的
theta = atan2((N-2.*Y),(2.*X-N))
我得到:
为什么值 3.1416 对于 cart2pol 函数为负数,而根据方程为正数?
解决方案
正如烧杯所说,角度是相同的。但关于您的评论:您始终可以使用edit <functionname>
来查看 Matlab 功能是如何实现的。这通常适用于.m
文件,但不适用于P
andMEX
文件,因为它们是二进制的,因此不能直接编辑。所以
edit cart2pol
在这种情况下,您会看到一切cart2pol
都只是atan2(y,x)
为了获得θ。因此,这意味着不同的结果仅仅是因为您使用与“公式”中使用的输入不同的输入调用函数。
atan2(-(Y-floor(N/2)),X-floor(N/2))
给出与您的调用完全相同的结果cart2pol
。
推荐阅读
- python - mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement. I am trying to insert the whole list as ones
- c# - 使用 ASP.NET MVC 将 Excel 数据导入 SQL Server
- python - 使用字符串变量中的方法名称将方法传递给函数
- testing - 有没有办法用柏树中的特定请求主体监视 XHR 请求?
- nginx-reverse-proxy - 如何获取 nginx proxy_pass 响应头
- c# - MVC C# 轮播图像
- php - 如何将一张照片上传到两个不同大小的不同位置
- python - 无法管理使用该功能:tensorflow(keras)中的predict()
- javascript - 有没有办法选择所有值,直到 JavaScript/Node 中的 Map 中的某个键?
- django - 如何在 Django 中将小部件添加到 UpdateView