Matlab 如何将fprintf用于复数值
我的代码计算Matlab 如何将fprintf用于复数值,matlab,printing,Matlab,Printing,我的代码计算V1的实部和虚部,如下所示: V1=term1/term3 + term2/term3 * i fprintf( 'Slope V1 = %.4f\n', real(V1), imag(V1) ) Slope of V1 = real(V1) + imag(V1) * i 我想输出复数V1,如下所示: V1=term1/term3 + term2/term3 * i fprintf( 'Slope V1 = %.4f\n', real(V1), imag(V1) ) Slope
V1
的实部和虚部,如下所示:
V1=term1/term3 + term2/term3 * i
fprintf( 'Slope V1 = %.4f\n', real(V1), imag(V1) )
Slope of V1 = real(V1) + imag(V1) * i
我想输出复数V1
,如下所示:
V1=term1/term3 + term2/term3 * i
fprintf( 'Slope V1 = %.4f\n', real(V1), imag(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如果要显示值,有两个选项: 1.
disp(z)代码>
2.fprintf(“斜率V1=%.4f%+.fi\n',实值(V1),图像(V1)”
请注意,disp以新行结束,而fprintf则不以新行结束,这就是我们使用“\n”的原因
对于%4.f
,如果希望数字缩进4个空格,并且只取整数部分,则可以使用它。
如果要将精度设置为小数点后的4位数字,可以使用%.4f
假设我们要显示12.1234
%4.f: 12
%.4f:12.1234
%.2f:12.12
%10.2f: 12.12
是否尝试对要打印的两个值使用两个格式说明符
fprintf( 'Slope V1 = %.4f + %.4f i\n', real(V1), imag(V1) )
或者,更好的是():
…通过在格式说明符中包含+
,第二个数字的前面将始终带有“-”或“+”,具体取决于值的符号。对于负虚数,这会阻止打印您可以使用的“+-”,它会自动处理复数:
fprintf(['Slope V1 = ' num2str(1+1j, '%.4f')])
或
我做了以下工作:fprintf('L1的斜率=%.4f+%.4fi\n',real(V1),imag(V1)),加号就是这样工作的。我已经加了引号!你的评论很有帮助。就我而言,fprintf('slopev1=%.4f%+.4f I\n',real(V1),imag(V1))
可能会更好,因为它只会为那些具有负虚部的复数显示一个符号。@Hunter:太棒了!我没有想到这一点。我已经更新了答案。这些都是很好的建议,并对复数打印进行了彻底的研究。