matlab - 如何在 MATLAB 中将矩阵变为 1+j、1-j、-1+j、-1-j

标签 matlab matrix

嗨,我有一个 4x4 双矩阵 A

 1+2i   2-1i  -3-2i  -1+4i

 3-1i  -3+2i   1-3i  -1-3i   

 4+3i   3+5i   1-2i  -1-4i  

 4+2i  -5-2i   2+3i   2-1i 

这是我的 MATLAB 代码:

for n=1:1:4
for k=1:1:4
    temp=A(n,k);
    rea=real(temp);
    img=imag(temp);
    Distance1(n,k)=sqrt(((rea-1).^2)+((img-1).^2));
    Distance2(n,k)=sqrt(((rea+1).^2)+((img-1).^2));
    Distance3(n,k)=sqrt(((rea+1).^2)+((img+1).^2));
    Distance4(n,k)=sqrt(((rea-1).^2)+((img+1).^2));
    Distance(n,k)=min([Distance1(n,k); Distance2(n,k); Distance3(n,k); Distance4(n,k)]);
    Decision(n,k)=?
end
end

如何制作一个应该为 1+j、1-j、-1+j、-1-j 的决策矩阵,就像下面的示例矩阵一样?

 1+i   1-i  -1-i  -1+i

 1-i  -1+i   1-i  -1-i   

 1+i   1+i   1-i  -1-i  

 1+i  -1-i   1+i   1-i 

最佳答案

怎么样?

B = sign(real(A))+sign(imag(A))*1i;

另一种变体是:

B = complex(sign(real(A)),sign(imag(A)));

关于matlab - 如何在 MATLAB 中将矩阵变为 1+j、1-j、-1+j、-1-j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21274060/

相关文章:

matlab - Matlab 中是否有类似于 C# 的 #region/#endregion 代码折叠结构的东西?

arrays - 在 3D 数组中查找连续值

c++ - OpenCV 访问像素的颜色值

java - 适用于Java 1000*1000矩阵的数据结构。

c++ - 检查矩阵相乘结果的方法?

matlab - 如何创建使用数组作为键的 Matlab 字典

Matlab sin(pi) 及其与机器 epsilon 的关系

python - Numpy 相当于点(A,B,3)

python - Python中是否有类似于matlab中的 'which'和 'open'的函数?

vector - 将向量添加到numpy中的矩阵行