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('<a href ="http://www.mathworks.com"> MathWorks Web Site</a>')
MathWorks Web Site
将鼠标指针置于超链接上方,指针形状将变为手型。单击超链接,MATLAB将在自带的网页浏览器中打开MathWorks公司主页,如图1-1所示。
图1-1 MathWorks公司主页
【实例讲解】sprintf函数用于格式化字符串,输出参数是得到的字符串;fprintf 函数也可以格式化字符串,它将得到的字符串输出到屏幕或文件中。MATLAB 自带了一个网页浏览器,在 MATLAB命令窗口输入Web并按Enter键即可打开。