让Matlab将复杂单元打印为" j"而不是"我"

时间:2016-08-02 10:17:45

标签: python matlab complex-numbers

我想使用Matlab将复杂数据打印到文本文件中。之后我想用Python读取数据(例如通过open()函数)。但是,Matlab打印复杂的数字,如

  

1 + 1I

但Python希望它以

的形式出现
  

1 + 1J

如何让Matlab将复杂单元打印为" j"?或者,我怎样才能让Python接受" i"作为复杂的单位?

2 个答案:

答案 0 :(得分:2)

当您写入文本文件时,不只是在那里进行转换吗?

这样的东西
>> a=1+2i

a =
1.0000 + 2.0000i

>> sprintf('%f+%fj',real(a), imag(a))

ans =
1.000000+2.000000j

您当然可以将sprintf替换为fprintf

答案 1 :(得分:0)

您可以使用正则表达式替换吗?也许是MATLAB中的那个?

newStr=regexprep(str,'([\d.]+\s*[+\-]\s*[\d.]+)i','$1j');