matlab display string in multiple lines

85 vues (au cours des 30 derniers jours)
Jhangir
Jhangir le 9 Oct 2013
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?

Réponses (5)

Walter Roberson
Walter Roberson le 9 Oct 2013
disp(sprintf('shdujfhdkjshfkjsdhkjfhkjdshfkjhsdkjfhkjsdhkjfhkjdshkfhskdhfkshdkjfhskjfdhs'))
now at each place you want it broken, insert the two-character sequence \n
disp(sprintf('shdujfhdkjshfkjs\ndhkjfhkjdshfkjhsdkjfhkjsdhk\njfhkjdshkfhskdhfkshdkjfhskjfdhs'))
  1 commentaire
Jan
Jan le 9 Oct 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.

Connectez-vous pour commenter.


Simon
Simon le 9 Oct 2013
strvcat({'shdujfhdkjshfkjsdhkjfhkjdshfkj', ...
'hsdkjfhkjsdhkjfhkjdshkfhskdhfk', ...
'shdkjfhskjfdhs'})

Jan
Jan le 9 Oct 2013
disp(['shdujfhdkjshfkjsdhkjfhkjdshfkj', ...
'hsdkjfhkjsdhkjfhkjdshkfhskdhfk', ...
'shdkjfhskjfdhs'])
  6 commentaires
Walter Roberson
Walter Roberson le 1 Avr 2019
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 le 2 Avr 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

Connectez-vous pour commenter.


pathakunta
pathakunta le 26 Jan 2024
now at each place you want it broken, insert the two-character sequence \n Disp(sprintf('shdujfhdkjshfkjs\ndh
  1 commentaire
Walter Roberson
Walter Roberson le 26 Jan 2024
This is the solution I suggested 10 years ago.

Connectez-vous pour commenter.


Steven Lord
Steven Lord le 27 Jan 2024
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'

Catégories

En savoir plus sur Data Distribution Plots dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by