使用 fprintf 时没有换行
Not getting a new line when using fprintf
我写了一个pyhtagorean值的小函数:
function c = pyth(a,b)
% Takes two inputs of same size and returns the pythagorean of the 2 inputs
if size(a) == size(b) % checks for same size
c = sqrt(a.*a + b.*b); % calculates the pythagorean value
else
fprintf('Error: Input sizes are not equal'); % returns if sizes are not the same
end
它工作正常,但在它 returns 之后,“>>”与我的输出在同一行,而不是输出下方的新行。这只是 fprintf
的情况。这里:
>> pyth([1 2;3 4],[5 6;7 8])
ans =
5.0990 6.3246
7.6158 8.9443
>>
>> pyth([1 2],[1 2;3 4])
Error: Input sizes are not equal>>
我该如何解决这个问题?
使用 \n 作为换行符:
fprintf('Error: Input sizes are not equal\n');
fprintf
通常用于写入文件(因此 f
开头)。写入(文本)文件时,确保 OS-independent 换行符的方法是在字符串末尾添加 \r\n
(又名 CRLF,或 [char(10) char(13)]
)。打印到控制台时,这似乎并不重要(即 \n
也适用于 Linux 上的 MATLAB 运行)。
几个提示:
我写了一个pyhtagorean值的小函数:
function c = pyth(a,b)
% Takes two inputs of same size and returns the pythagorean of the 2 inputs
if size(a) == size(b) % checks for same size
c = sqrt(a.*a + b.*b); % calculates the pythagorean value
else
fprintf('Error: Input sizes are not equal'); % returns if sizes are not the same
end
它工作正常,但在它 returns 之后,“>>”与我的输出在同一行,而不是输出下方的新行。这只是 fprintf
的情况。这里:
>> pyth([1 2;3 4],[5 6;7 8])
ans =
5.0990 6.3246
7.6158 8.9443
>>
>> pyth([1 2],[1 2;3 4])
Error: Input sizes are not equal>>
我该如何解决这个问题?
使用 \n 作为换行符:
fprintf('Error: Input sizes are not equal\n');
fprintf
通常用于写入文件(因此 f
开头)。写入(文本)文件时,确保 OS-independent 换行符的方法是在字符串末尾添加 \r\n
(又名 CRLF,或 [char(10) char(13)]
)。打印到控制台时,这似乎并不重要(即 \n
也适用于 Linux 上的 MATLAB 运行)。
几个提示: