感悟网 导航

求matlab中disp () 里面一定要打''吗?不打行不行,还有为什么有的里面有[ ]呢? thank you. matlab中这个语句disp('');有什么用啊,屏幕上什...

作者&投稿:邴沫 (若有异议请与网页底部的电邮联系)
matlab中disp的用法~

你的程序错误很多,
第一个:R没有定义
第二个:c的计算在使用后面
第三个:disp使用错误

disp(['Vmax' num2str(k) '=' num2str(vmax)])


MH=[51000,71400,128000,370000];
MT=[16,24,48,116];
h=600;
R=1;
for k=1:4
H=MH(k);
a=(h+H+2.*R)./2;
c=(H-h)./2;
b=sqrt(a.^2-c.^2);

s1=pi.*a.*b./MT(k);
vmax=2.*s1./(R+h);
disp(['Vmax' num2str(k) '=' num2str(vmax)])
end
求采纳为满意回答。

disp('matlab'); 该句在都没有屏幕上显示matlab
disp(' ');该句在屏幕上显示一个空格,所以感觉什么都不显示

MATLAB帮助文件里是这么写的:disp(X) displays the array, without printing the array name.

也就是说,disp显示数组,但不显示数组名称。包括你的问题在内,我总结这个函数使用需注意的三点如下:

1、这个数组可以是字符串,也可以不是,所以''不是必须的,有时候甚至是多余的。如:
>> disp(sqrt(2))
1.4142

>> disp('sqrt(2)')
sqrt(2)

2、X是一个数组,或者说不能是多个数组。如disp(X,Y)就会犯错:
>> disp('根号2=',sqrt(2))
Error using disp
Too many input arguments.

当需要输出多个数组时,就需要把多个数组用[]括起来形成一个数组,这样就相当于disp()里只有一个变量了,在title等命令中也有用到。上面的例子应该改成:
>> disp(['根号2=',num2str(sqrt(2))])
根号2=1.4142

3、注意数据和字符串不能混在一起,这个我们经常犯错。例如,上面的例子,如果不用num2str函数的话:
>> disp(['根号2=',sqrt(2)])
根号2=

所以,disp和num2str的用法一定要搞懂,才能符合我们的使用需求。其他的单变量函数如title、xlabel等等常用的函数中,这些道理是相通的。

输出含字符的要用''。如果是变量,不用''
[]里面是数组的值。

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网