如何在 Scilab 中打印没有百分号的复数?
How to print a complex number without percent sign in Scilab?
我试过了
a = 1+3*%i;
disp("a = "+string(a))
我得到了a = 1+%i*3
,但我想要的是a = 1. + 3.i
那么Scilab中有什么方法可以打印没有百分号的复数吗?
与Matlab类似,您可以通过分别包含实部和虚部来格式化输出字符串。
mprintf('%g + %gi\n', real(a) , imag(a))
但是,当虚部为负时,这看起来很丑陋。我建议写一个格式化函数:
function s = complexstring(a)
if imag(a)>=0 then
s = sprintf('%g+%gi', real(a) , imag(a))
else
s = sprintf('%g%gi', real(a) , imag(a))
end
endfunction
示例:
disp('a = '+complexstring(1+3*%i))
disp('b = '+complexstring(1-3*%i))
输出:
a = 1+3i
b = 1-3i
我试过了
a = 1+3*%i;
disp("a = "+string(a))
我得到了a = 1+%i*3
,但我想要的是a = 1. + 3.i
那么Scilab中有什么方法可以打印没有百分号的复数吗?
与Matlab类似,您可以通过分别包含实部和虚部来格式化输出字符串。
mprintf('%g + %gi\n', real(a) , imag(a))
但是,当虚部为负时,这看起来很丑陋。我建议写一个格式化函数:
function s = complexstring(a)
if imag(a)>=0 then
s = sprintf('%g+%gi', real(a) , imag(a))
else
s = sprintf('%g%gi', real(a) , imag(a))
end
endfunction
示例:
disp('a = '+complexstring(1+3*%i))
disp('b = '+complexstring(1-3*%i))
输出:
a = 1+3i
b = 1-3i