首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MATLAB中生成1+j,1-j,-1+j,-1-j矩阵

如何在MATLAB中生成1+j,1-j,-1+j,-1-j矩阵
EN

Stack Overflow用户
提问于 2014-01-22 12:18:06
回答 1查看 78关注 0票数 2

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

代码语言:javascript
复制
 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代码:

代码语言:javascript
复制
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,就像下面的例子矩阵一样?

代码语言:javascript
复制
 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 
EN

回答 1

Stack Overflow用户

发布于 2014-01-22 13:14:08

怎么样?:

代码语言:javascript
复制
B = sign(real(A))+sign(imag(A))*1i;

另一种变体是:

代码语言:javascript
复制
B = complex(sign(real(A)),sign(imag(A)));
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21274060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档