matlab display string in multiple lines

For example I want to disp('shdujfhdkjshfkjsdhkjfhkjdshfkjhsdkjfhkjsdhkjfhkjdshkfhskdhfkshdkjfhskjfdhs') but I dont want it all in one line because it continues off the screen in the command box, how do I create multiple lines?

Antworten (5)

Walter Roberson
Walter Roberson am 9 Okt. 2013

3 Stimmen

disp(sprintf('shdujfhdkjshfkjsdhkjfhkjdshfkjhsdkjfhkjsdhkjfhkjdshkfhskdhfkshdkjfhskjfdhs'))
now at each place you want it broken, insert the two-character sequence \n
disp(sprintf('shdujfhdkjshfkjs\ndhkjfhkjdshfkjhsdkjfhkjsdhk\njfhkjdshkfhskdhfkshdkjfhskjfdhs'))

1 Kommentar

Jan
Jan am 9 Okt. 2013
The linebreak in the 2nd example comes from the display in the forum. In the real code the line is continued and not distributed over several lines.

Melden Sie sich an, um zu kommentieren.

Simon
Simon am 9 Okt. 2013

2 Stimmen

strvcat({'shdujfhdkjshfkjsdhkjfhkjdshfkj', ...
'hsdkjfhkjsdhkjfhkjdshkfhskdhfk', ...
'shdkjfhskjfdhs'})
Jan
Jan am 9 Okt. 2013

0 Stimmen

disp(['shdujfhdkjshfkjsdhkjfhkjdshfkj', ...
'hsdkjfhkjsdhkjfhkjdshkfhskdhfk', ...
'shdkjfhskjfdhs'])

6 Kommentare

Adriana Velasquez
Adriana Velasquez am 31 Mär. 2019
Bearbeitet: Adriana Velasquez am 31 Mär. 2019
Hello! I'm just learning Matlab and I need to display a text on my graph but it's very long so I want to show it in 3 lines. Could you please help me? I have this but is not working. I also tried \n but it doesn't work...
txt = (['y=' num2str(m,2) 'x' '+' num2str(c,2) ' SSE=' num2str(sse,2), ...
' RMSE=' num2str(rmse,2) ' R^2= ' num2str(rsquare,2) ' n=' num2str(numel(x),2), ...
' p=' num2str(p_val,2) ]);
text(0.2,0.9,txt,'Units','normalized')
Walter Roberson
Walter Roberson am 31 Mär. 2019
Make txt a cell array of character vectors with one entry per line of output.
Adriana Velasquez
Adriana Velasquez am 31 Mär. 2019
Thank you Walter! I'll try that : ) Thanks for the fast answer!
Sorry Walter, I still can't make it work when I include variables (even though I convert them from number to string..I don't understand why. Now, every single thing is a new line. Could you please give me an example of what you mean by "character vectors with one entry per line"?
Thanks a lot!!
txt=char({'y=' num2str(m,2) 'x' '+' num2str(c,2),...
'SSE=' num2str(sse,2) 'RMSE=' num2str(rmse,2) ' R^2= ' num2str(rsquare,2), ...
'n=' num2str(numel(x),2) 'p=' num2str(p_val,2)})
text(0.1,0.9,txt,'Units','normalized')
Screenshot from 2019-03-31 20-14-31.png
I suggest you learn to use sprintf(). But in the mean time, generally you would use something like
txt = {['y=', num2str(m,2), 'x', '+', num2str(c,2)], ...
['SSE=', num2str(sse,2) ' RMSE=', num2str(rmse,2) ' R^2=', num2str(rsquare,2)], ...
['n=', num2str(numel(x),2), ' p=', num2str(p_val,2)] };
Each group inside [] goes together to form one line, and the different groups will get placed on different lines.
Adriana Velasquez
Adriana Velasquez am 2 Apr. 2019
wow excellent! Thanks a lot Walter! that helps me inmensely in "in the mean time". I know, I have to learn a lot, I just wanted to save some time using Matlab for my stats instead for doing 150 regressions manually! Thanks!
GLM of raw Macroalgae coverage.png

Melden Sie sich an, um zu kommentieren.

pathakunta
pathakunta am 26 Jan. 2024

0 Stimmen

now at each place you want it broken, insert the two-character sequence \n Disp(sprintf('shdujfhdkjshfkjs\ndh
Steven Lord
Steven Lord am 27 Jan. 2024

0 Stimmen

Another way to do this is to use textwrap, particularly if you're planning to use this to put the text in a control in an app.
s = 'shdujfhdkjshfkjsdhkjfhkjdshfkjhsdkjfhkjsdhkjfhkjdshkfhskdhfkshdkjfhskjfdhs'
s = 'shdujfhdkjshfkjsdhkjfhkjdshfkjhsdkjfhkjsdhkjfhkjdshkfhskdhfkshdkjfhskjfdhs'
t = textwrap(string(s), 40)
t = 2×1 cell array
{'shdujfhdkjshfkjsdhkjfhkjdshfkjhsdkjfhkjs'} {'dhkjfhkjdshkfhskdhfkshdkjfhskjfdhs' }
If you need this to be a character vector instead of a cell array of character vectors, you could use strjoin.
s2 = strjoin(t, newline)
s2 =
'shdujfhdkjshfkjsdhkjfhkjdshfkjhsdkjfhkjs dhkjfhkjdshkfhskdhfkshdkjfhskjfdhs'

Kategorien

Mehr zu Data Distribution Plots finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 9 Okt. 2013

Beantwortet:

am 27 Jan. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by