首页 > 解决方案 > 如何使用具有复杂值的 fprintf

问题描述

我的代码计算V1如下的实部和虚部:

V1=term1/term3 + term2/term3 * i
fprintf( 'Slope V1 = %.4f\n', real(V1), imag(V1) )

V1我想按如下方式输出复数:

Slope of V1 = real(V1) + imag(V1) * i

我似乎从来没有得到%4.f正确的符号。有人可以给我一个开始吗?我不确定如何处理 + 号。

V1=term1/term3 + term2/term3 *i
fprintf( 'Slope V1 = %.4f\n', real(V1), imag(V1) )

输出

Slope V1 = 0.0000
Slope V1 = 1.4142

我想要输出

Slope V1 = 0.0000+1.4142i

真诚的,MM

标签: matlabprinting

解决方案


您是否尝试对要打印的两个值使用两个格式说明符?

fprintf( 'Slope V1 = %.4f + %.4f i\n', real(V1), imag(V1) )

或者,甚至更好(正如 Hunter Jiang 建议的那样):

fprintf( 'Slope V1 = %.4f%+.4fi\n', real(V1), imag(V1) )

...通过+在格式说明符中包含 ,第二个数字将始终以“-”或“+”开头,具体取决于值的符号。对于负虚数,这会阻止打印“+ -”。


推荐阅读