中易网

怎么用matlab把一组数按顺序排为复数的实部虚部生成一组复数

答案:2  悬赏:80  
解决时间 2021-01-17 19:27
  • 提问者网友:niaiwoma
  • 2021-01-17 00:23
怎么用matlab把一组数按顺序排为复数的实部虚部生成一组复数
最佳答案
  • 二级知识专家网友:上分大魔王
  • 2021-01-17 00:57
不需要循环,
A = [1 -1 3 2 -4 5 1 -1 0 2];
B = A(1:2:end) + A(2:2:end)*1i;
即可实现奇偶位组合成复数追问我写的那组数只是个例子,实际要弄得那组数很长,有几万个数字追答B = A(1:2:end) + A(2:2:end) * 1i;
即可实现奇偶位组合成复数,不管A有多长。

比如A = randi(10, 1, 1000); //产生1000个1到10的随机数
B = A(1:2:end) + A(2:2:end) * 1i;追问老师给我发了个文件读出来是一列数字,然后我用你这方法组合的复数不是从上到下按顺序排出来的复数,怎么回事?追答你要从构成列向量??

B = B'; 就可以,B之前是行向量,转置一下就是列向量追问谢谢啦!另外再问下,把这些复数填到一个固定矩阵中该怎么填,比如填入2*3的矩阵中追答从向量B中取出6个数组成矩阵C:
C = reshape(B(1:6), 2, 3);
全部回答
  • 1楼网友:爱难随人意
  • 2021-01-17 01:31

参考代码:
>> A=[1  -1   3   2    -4    5    1   -1    0    2];
>> complex(A(1:2:end)',A(2:2:end)')
ans =
   1.0000 - 1.0000i
   3.0000 + 2.0000i
  -4.0000 + 5.0000i
   1.0000 - 1.0000i
   0.0000 + 2.0000i
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息