matlab如何将变量区的字符串全部展开显示

能否将matlab变量窗口的字符串全部展开折叠。

如下图所示,对于过长的字符串它自动折叠起来的,我也不清楚折叠的条件是什么,同样的数据,之前都是可以完全显示的,现在突然很多太长的字符串就变成1×[n] char形式了,还需要单独点开这些字符串。

我得开肉眼过一遍查看开头部分的字符,所以展开后有些行显示不全也没关系。
这个可以设置或者强制展开吗?

img

可以通过Matlab的设置来强制展开变量窗口中的字符串。
具体操作是在Matlab的设置中,可以找到“变量窗口”,在其中可以设置“字符串最大长度”,将其设置为“无限制”,即可强制展开变量窗口中的字符串。

应该是太长了
在 Matlab 中,可以使用 "whos" 命令来查看变量区中的所有变量,包括其类型、大小、存储空间等信息。如果需要查看某个字符串变量的具体值,可以在命令窗口中直接输入该变量的名称。例如:


a = 'hello world';
whos
disp(a)

这样就可以将字符串变量 a 中的值展开显示了。

MATLAB如何使用disp函数显示字符串或数组

【语法说明】

disp(X):如果X是一个矩阵或数组名,系统将X的值显示在命令窗口中。直接在命令窗口中输入X再按Enter键也能将X的值显示出来,但显示时会同时显示变量名。例如:

x=[1,2;3,4];

x   % 显示“x=”

x =

1 2

3 4

disp(x)  % 不显示“x=”,直接显示x的内容

1 2

3 4

如果参数X是字符串,则函数将字符串显示出来,并自动换行。disp只能接受一个参数,且不解析转义字符,因此遇到\n符号会原样输出,不会解释为换行符:

x='I love MATLAB;\n Yes I do';

disp(x)

I love MATLAB;\n Yes I do  % \n原样输出

disp函数必须提供输入参数,否则系统将会报错。如果输入的是空字符串,disp函数没有输出。一旦字符串非空,即使字符串只包含一个空格,函数也会自动换行:

disp()   % 必须提供输入参数

Error using disp

Not enough input arguments.

disp

Error using disp

Not enough input arguments.

disp('')  % 空字符串,函数不做任何处理

disp(' ')  % 字符串中包含一个空格,显示空格然后换行

【功能介绍】disp函数用于显示字符串或当前工作空间中包含的变量。用于显示字符串时,fprintf函数可以替代它的功能。

【实例】用disp实现较复杂的输出。

用fprintf函数实现disp输出字符串的功能:

disp('Today is sunny');  % disp自动换行

Today is sunny

fprintf(1,'Today is sunny\n'); % 1 表示输出到屏幕,可以省略

Today is sunny

fprintf('Today is sunny\n');

Today is sunny

用disp和fprintf显示计算结果:

x=pi;

y=2;

z=x.^y

z =

9.8696

disp(['x=',num2str(x),', y=',num2str(y),', x^y=',num2str(z)])  % 采用num2str函数将数字转为字符串

x=3.1416, y=2, x^y=9.8696

fprintf('x=%d, y=%f, x^y=%f\n',x,y,z);  % %d表示整数,%f表示浮点数

x=3.141593e+000, y=2.000000, x^y=9.869604

str=sprintf('x=%d, y=%f, x^y=%f',x,y,z); %用sprintf格式化字符串,再输出

disp(str)

x=3.141593e+000, y=2.000000, x^y=9.869604

用disp将数据以列表的形式打印出来:

data=[1,175,60,96;2,160,45,85;3,166,54,88;4,177, 69, 70];

disp(' 学号身高 体重 得分');disp(data);

学号身高 体重 得分

1 175 60 96

2 160 45 85

3 166 54 88

4 177 69 70

用disp函数显示超链接:

disp(' MathWorks Web Site')

MathWorks Web Site

将鼠标指针置于超链接上方,指针形状将变为手型。单击超链接,MATLAB将在自带的网页浏览器中打开MathWorks公司主页,如图1-1所示。

【实例讲解】sprintf函数用于格式化字符串,输出参数是得到的字符串;fprintf 函数也可以格式化字符串,它将得到的字符串输出到屏幕或文件中。MATLAB 自带了一个网页浏览器,在 MATLAB命令窗口输入Web并按Enter键即可打开。

在 Matlab 的变量窗口中,默认会将过长的字符串自动折叠起来。折叠的条件可能是字符串长度超过某个阈值,或者字符串中某些特定字符出现的次数超过某个阈值。

要强制将字符串展开显示,可以使用 disp() 函数,例如:

disp(string_variable);

这样就可以在命令窗口中显示完整的字符串,而不是折叠的形式。

如果想要在变量窗口中显示完整的字符串,我这里没有找到相关的设置,可以试着在变量窗口中右键点击字符串变量,选择“数组大小”,调整为适合的大小,来展示字符串。

总之,使用 disp() 函数在命令窗口中显示完整的字符串是可行的。