how to display newline

498 visualizaciones (últimos 30 días)
Tor Fredrik Hove
Tor Fredrik Hove el 16 de Oct. de 2011
Editada: Stephen23 hace alrededor de 12 horas
Can you use newline seperately or do you always have to use it in fprintf in order to make it work. Theese are my attempts with newline:
this did not work:
This gave a strange result
Is this the only way to make a newline?:
Here is my script for the last line:
rows=3;
columns=5;
for i=1:rows
for j=1:columns
fprintf('*')
end
fprintf('\n')
end
  1 comentario
the cyclist
the cyclist el 16 de Oct. de 2011
I think you got the answer you need from Wayne, but for future reference, you posted three copies of the same image in this question.

Iniciar sesión para comentar.

Respuesta aceptada

Wayne King
Wayne King el 16 de Oct. de 2011
Hi, '\n' by itself outside of special calls is just interpreted as the string (character array) \n
It's not just in fprintf(), sprintf() also interprets escape characters correctly like \n or \t
but yes you're right:
disp('Hi \n nice to meet you')
% produces Hi \n nice to meet you
but
fprintf('Hi \n nice to meet you')
% Hi
% nice to meet you>>
  4 comentarios
Walter Roberson
Walter Roberson el 19 de Sept. de 2020
disp(sprintf('Hi \n nice to meet you'))
Sina Davari
Sina Davari el 11 de Dic. de 2020
Hi;
You could simply put { disp(' '); } between two disp for obtaining an empty line.
disp('Hi'); disp(' '); disp('nice to meet you')

Iniciar sesión para comentar.

Más respuestas (4)

Steven Lord
Steven Lord el 6 de Sept. de 2022
If you're using release R2016b or later you can use the newline function, perhaps in conjunction with a string array.
s = "apple" + newline + "banana"
s =
"apple banana"
c = ['apple', newline, 'banana']
c =
'apple banana'
  2 comentarios
Vishal
Vishal el 14 de Nov. de 2024
If you want to use newline in verisons below 2016b you can use following comment.
string2Print=sprintf('%s\n','Hi','nice to meet you')
Walter Roberson
Walter Roberson el 14 de Nov. de 2024
That is what @Saul Stokar suggested two years ago.

Iniciar sesión para comentar.


Kleber Zuza Nobrega
Kleber Zuza Nobrega el 19 de Sept. de 2020
supose you want to disp the word 'Ball'. Try
a=['Ball',char(13),'to a new line']
disp(a)
  4 comentarios
Walter Roberson
Walter Roberson el 15 de Nov. de 2020
Or
disp("Ball" + newline + "to a new line");
Daniel Gonzalez
Daniel Gonzalez el 25 de Ag. de 2021
char(10) worked for me, but great advice.

Iniciar sesión para comentar.


Saul Stokar
Saul Stokar el 6 de Sept. de 2022
Youj can do it using sprintf :
string2Print=sprintf('%s\n','Hi','nice to meet you');
disp(string2Print)
This prints:
Hi
nice to meet you
  2 comentarios
Saul Stokar
Saul Stokar el 17 de Nov. de 2024
Note that you can avoid the extra newline after the last printout as well:
disp(sprintf('%s\n%s\n%s','first line','second line','third line')) prints
first line
second line
third line
(without a newline after the last line printed)
while disp(sprintf('%s\n','first line','second line','third line')) prints
first line
second line
third line
(with a newline after the last line printed)
Walter Roberson
Walter Roberson el 17 de Nov. de 2024
... unless you are using LiveScript or MATLAB Online or MATLAB Answers. All three of those automatically add the "missing" newline after the last output display on each logical line of code (logical line is physical line except taking into account ... line continuation).

Iniciar sesión para comentar.


Sudesh
Sudesh hace alrededor de 8 horas
1️⃣ Using \n in fprintf
Your script works perfectly because fprintf interprets \n as a newline:
fprintf('*'); % prints *
fprintf(
'\n'); % moves to next line
✅ This is the standard way and works reliably.2️⃣ Using newline by itself
newline is actually a string in MATLAB, not a command. For example:
s = newline;
disp(['Hello' s 'World'])
This works because you’re concatenating strings.
However, if you try this:
newline
MATLAB will just return the string representing the newline—it won’t actually move the cursor in the Command Window like fprintf('\n') does.
3️⃣ Using newline with fprintf
You can use it like this:
fprintf(['*\n']); % using \n
fprintf([
'*' newline]); % using newline
Both work, but fprintf(newline) alone will not, because fprintf expects a string with content to print. So you must provide it either inside a string or concatenated with text.
  1 comentario
Stephen23
Stephen23 hace alrededor de 8 horas
Editada: Stephen23 hace alrededor de 8 horas
"newline is actually a string in MATLAB, not a command"
NEWLINE is actually a built-in function. Lets check this using three different approaches:
1) WHICH tells us directly if a function is built-in:
which newline -all
built-in (/MATLAB/toolbox/matlab/strfun/newline)
2) EXIST returns a value of 5 for inbuilt functions:
exist newline
ans = 5
3) FUNCTIONS will (since R2020-ish) tell us if the handle refers to a built-in function:
fnh = @newline
fnh = function_handle with value:
@newline
functions(fnh)
ans = struct with fields:
function: 'newline' type: 'simple' file: 'MATLAB built-in function'

Iniciar sesión para comentar.

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by