问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

matlab中phase与angle的区别

发布网友 发布时间:2022-04-23 09:36

我来回答

3个回答

热心网友 时间:2023-06-24 01:13

phase
和 angle 在输入为单个标量数据时,没有差别,二者都是用 atan2
函数来求输入数据的四象限辐角。但是对于向量或矩阵数据输入时,二者差别非常大。

1.
phase 只支持标量和一维(行、列)向量输入,不支持二维或高维矩阵输入。angle 可以支持标量或任意维数矩阵输入

2.
对于向量输入,phase 会对输出结果做判断,如果相邻两个输出角度的差的绝对值超过 3.5,phase
会对其重新处理,确保相邻两个角度差值的绝对值永远不超过3.5。而 angle
函数对每个数据独立求其辐角,不会因为相邻角度差超出某个数值而做特殊处理。所以,从这个意义上讲,angle 函数是我们通常需要使用的求角度的函数,而 phase
的特殊处理,会导致得出与angle不同的结果。

下面举例说明。

Example
1: 1维向量

g
= [-1-1i -1+1i];

% 对应角度为 -3*pi/4 (=-2.3562) 和 3*pi/4 (=-2.3562)

ang
= angle(g)

pha
= phase(g)
复制代码
输出结果是:
ang
=

-2.3562 2.3562

pha
=

-2.3562 -3.9270
很显然,由于
2.3562与-2.3562的差值的绝对值超过了3.5,phase函数的处理使得得到的结果并非我们想要的,而angle函数是直接对每个输入数据求角度,不会考虑相邻两个角度的差值大小。所以,angle
求得的是我们需要的

Example
2:2维矩阵

g
= [-1-1i -1+1i; -1-1i -1+1i];

ang
= angle(g)

pha
= phase(g)
复制代码
输出结果是:
ang
=

-2.3562 2.3562

-2.3562 2.3562

Error
using phase (line 17)
PHASE
applies only to row or column vectors.
For
matrices you have to decide along which dimension the
phase
should be continuous.
从这个例子可以看出,对于矩阵输入,只有angle函数能正常工作,phase函数无法支持矩阵输入。

综上所述,如果我们对输出角度的差值没有*,而只是单纯的求输入数据的辐角,我们应该用
angle 函数。所以,对于楼主的代码,最好将 phase 换成 angle 函数。

热心网友 时间:2023-06-24 01:13

请不要误导大众!http://www.ilovematlab.cn/thread-259049-1-1.html

热心网友 时间:2023-06-24 01:14

phase是相位,angle 是角度 区别
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 matlab中angle是什么函数 matlab 中angle的用法 matlab中angle是什么意思 如何查询自己的身份证有没有办理贷款? 熟肉再次食用时,怎样加热才能食用? 索迪亚之风的物品合成 三国之谁主天下武器精炼攻略 有什么好看的日本动漫?最好人物画得精致一点。剧情不要太老套,但不要血腥,最好讲的是校园故事。 天书奇谈精致狼抓铠甲怎么来的 谁有《习蛮俏御医》里张哲三的精典台词 画国画用狼毫的还是用羊毛的? 要一段(精致)激励员工的话! 请推荐几部画面精致的动漫 红斑狼疮能不能喝燕窝 争强好胜的蓝盈莹,到底是努力的野心家还是精致的利己主义? 原神狼的末路0精炼能用吗? 有什么简短精炼的新婚祝词? 最终幻想14精炼度有什么用 怎么提升 做一个精致的男人的句子 急!厨房下水道堵了,水下不去,怎么办 在matlab中,角度用什么字母表示 matlab中real(), imag(), abs()和angle()函数要怎样使用? 在matlab中的角度如何表示 MATLAB 中angle的计算过程问题 matlab中图像旋转 phase函数和angle函数有什么区别 matlab中的angle函数是不是不能用在符号表达式上 体检的条形码编号丢了怎么查? Matlab怎样提取复数数组的角度 公司发了张体检卡,不小心弄丢了,怎么办啊?能补办吗? 关于matlab求信号相位的问题 我的体检报告ID号丢失了怎么查询 matlab如何求复数的相位角 我体检过了,单子丢了,可以用身份证拿吗 Matlab怎么样将图像旋转一定的度数? 体检号丢了,用身份证能不能查体检结果? 平安好医生体检卡丢了怎么办? matlab中求信号相位,有没有什么好的方法 体检单丢了怎么办? 用MATLAB处理一个信号,求其相位