一、为方便理解,先定义几个变量
a1=5;
a2=[2 3 4 5];
a3=[1:3;10:12];
b1='a';
b2='abcd';
b3=['abcd';'1234';'!@#$'];
b4={ 'abcd';'1234';'!@#$'};
b5='';
b6={ 'abcd','1234','!@#$'};
c1="";
c2="abc";
c3=["abc","123"];
c4={ "abc","123"};
c5=["abc","123";"!@#","xyz"];
c6={ "abc","123";"!@#","xyz"};
二、用到的有关函数
size(a)返回a的行数和列数。
isscalar(a)判断a是不是标量,是返回逻辑1,否返回逻辑0.
isvector(a)判断a是不是向量,是返回逻辑1,否返回逻辑0.
class(a)查看a的数据类型
isempty(a)检查a是否为空,是返回逻辑1,否返回逻辑0.
三、什么是标量(scalar)
凡是调用size函数返回1×1(即1行1列)的变量都称为标量。凡是调用isscalar函数返回逻辑1的都称为标量。标量维度为1。
以上变量中,标量有:a1,b1,c1,c2为标量。其中:
a1称为数值标量(Numeric scalar)
b1 称为字符标量(character scalar)
c1、c2 称为字符串标量(string scalar)
四、什么是向量(vector)
凡是调用size函数返回1×n或1×n (n>=1)(即1行n列或者n)的变量都称为向量。凡是调用isvector函数返回逻辑1的都称为向量。标量是向量的特殊形式。向量的维度为2.
a1,a2称为数值向量(Numeric vector)
b1,b2 ,b4, b6 称为字符向量(character vector)
c1,c2,c3,c4 称为字符串向量(string scalar)
五、代码验证
以下检查各个变量的行数和列数,并检查是不是标量和向量。
%a1
disp(sprintf('a1行数和列数分别为:%d行%d列,类型''%s''',size(a1),class(a1)));
a1行数和列数分别为:1行1列,类型'double'
if isscalar(a1)
disp('a1是标量');
else disp('a1不是标量');
end
a1是标量
if isvector(a1)
disp('a1是向量');
else disp('a1不是向量');
end
a1是向量
%a2
disp(sprintf('a2行数和列数分别为:%d行%d列,类型''%s''',size(a2),class(a2)));
a2行数和列数分别为:1行4列,类型'double'
if isscalar(a2)
disp('a2是标量');
else disp('a2不是标量');
end
a2不是标量
if isvector(a2)
disp('a2是向量');
else disp('a2不是向量');
end
a2是向量
%a3
disp(sprintf('a3行数和列数分别为:%d行%d列,类型''%s''',size(a3),class(a3)));
a3行数和列数分别为:2行3列,类型'double'
if isscalar(a3)
disp('a3是标量');
else disp('a3不是标量');
end
评论记录:
回复评论: