我想使用Matlab将复杂数据打印到文本文件中。之后我想用Python读取数据(例如通过open()函数)。但是,Matlab打印复杂的数字,如
1 + 1I
但Python希望它以
的形式出现1 + 1J
如何让Matlab将复杂单元打印为" j"?或者,我怎样才能让Python接受" i"作为复杂的单位?
答案 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');