在matlab程序中怎样给一个集族的成员编号?
2个回答
展开全部
matlab数值数据:
class()获取数值类型。
整型:无符号8位(0~255)
带符号8位(-128~127)
还有 16 32 64位
uint8()把数值转换为无符号整型 int8()将数值转换为有符号整型
浮点型
单精度 :single()将其他数值转换为单精度型。
双精度(默认):double()……转换为双精度型。
复数型
形式如:a+bj(i);
real():求复数的实部
imag():求复数的虚部
数值数据的输出格式
format命令的格式:format 格式符(long/空格:15位小数/分数)
常用数学函数
函数名(函数自变量的值)
函数自变量规定为矩阵变量,也可以为标量。
exp()函数自然指数函数
三角函数:以角度为单位的函数在函数名后加d以示区别。(sind cosd tand)。
abs()函数 可求:实数->绝对值
复数->模
字符串->ASCII码值
取整函数:
fix()取靠近0的。
floor()取小
ceil()取大
round()四舍五入
求余函数:
rem(x,y):例如rem(123,10)=3
mod(x,y): mod(123,10)=3
判断是否为素数的函数:isprime()函数 是则返回1 否则返回0
find()找出所有非零数的下标。
求[1,100]区间的所有素数:
>>x=1:100;
>>k=isprime(x);
>>k1=find(k);
>>p=x(k1)
变量及其操作
变量本质上讲是内存单元的一个抽象
在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。
变量名区分大小写,标准函数名命令名必须小写字母。
赋值语句两种格式
变量=表达式
表达式(赋给了ans)
预定义变量
ans是默认赋值变量
i和j代表虚数单位
pi代表圆周率
NaN代表非数
save 文件名 变量1 变量2 …… 保存变量到mat文件中
load 文件名 加载变量到工作区
who 显示变量名
whos 显示变量名和大小,字节数
矩阵的建立
1)直接输入法:将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或空格分隔,不同行的元素之间用分号分隔。
示例:[1,2,3;4,5,6]
2)利用已建好的矩阵建立更大的矩阵;一个大矩阵可以由已经建立好的小矩阵拼接而成。
>>A=[1,2,3;4,5,6];
>>B=[-1,-2,-3;-4,-5,-6];
>>C=[A,B;B,A]
3)可以用实部矩阵和虚部矩阵构成复数矩阵。
>>B=[1,2,3;4,5,6]
>>C=[6,7,8;9,10,11]
>>A=B+i*C
冒号表达式
格式:e1:e2:e3 初始值:步长:终止值 (向量)
省略e2则步长为1
linspace(a,b,n) (第一个元素,最后一个元素,元素总数) n省略时自动产生100个元素。
结构矩阵
格式为:结构矩阵元素.成员名=表达式
单元矩阵
建立单元矩阵和一般矩阵相似,直接输入就可以了,只是单元矩阵元素用大括号括起来。
示例:b={10,'zhou',[1,2;3,4];20,'wei',[7,8;9,10]}
矩阵元素的引用
1)通过下标来引用矩阵的元素
A(3,2)表示A矩阵第三行第二列的元素
如果超出原矩阵,则扩展,未赋值的元素为0
2)通过序号来引用
①在MATLAB中,矩阵元素按列存储,即首先存储的第一列元素,然后存储第二列元素,……,一直到矩阵的最后一列元素。
②矩阵元素的序号就是矩阵元素在内存中的排列顺序。
>>A=[1,2,3;4,5,6];
>>A(3)
ans=
2
序号和下标的关系
A(i,j)的序号为(j-1)*m+i
sub2ind(S,I,J)S:矩阵的行数与列数的向量 I为行下标,J为列下标
ind2sub(S,D) S:同上,D:为下标。
利用冒号表达式获得子矩阵
A(i,:)第i行的全部元素
A(:,j)第j列的全部元素
A(i:i+m,k:k+m)第i~i+m行内且在第k~k+m列中的所有元素
A(i:i+m,:)第i~i+m行的全部元素
end运算符:表示某一维的末尾元素下标。
利用空矩阵删除矩阵的元素
将特定子矩阵赋值为空矩阵即可删除矩阵
改变矩阵的形状
reshape(x,3,4)将矩阵x逻辑结构变为m行n列的矩阵。
A(:)将矩阵A的每一列元素堆起来,成为一个列向量。
MATLAB基本运算
算术运算
1)基本算术运算
加减
要求两个矩阵同型,则运算时两矩阵的相同元素加减。
若不同型,则MATLAB将给出错误信息。
一个标量也可以和矩阵进行加减运算,这时标量和矩阵的灭一个元素进行加减运算。
乘法
矩阵A和B进行乘法运算,要求A的列数与B的行数相等,此时则称A、B矩阵是可乘的,或称A和B两矩阵维数和大小相容。
除法
在MATLAB中,有两种矩阵除法运算:右除/和左除\.
如果A矩阵是非奇异方阵,则B/A等效于B*inv(A),A\B等效于inv(A)*B.
对于矩阵来说,右除和左除表示两种不同的除数矩阵和被除数矩阵关系。
乘方
一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。
点运算
点运算符:.*,./,.\和.^
两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵同型。
关系运算符
<小于 <=小于或等于 >大于 >=大于或等于 ==等于 ~=不等于
关系表达式成立结果为1 否则为0
当参与比较的量是两个同型矩阵时,比较是两矩阵相同位置的元素按标量关系运算规则逐个进行,最终关系运算的结果是一个与原矩阵同型的矩阵,它的矩阵由0或1组成。
标量与矩阵比较同上
逻辑运算
逻辑运算符:&与、|或和~非
逻辑运算矩阵运算与关系运算类似。
在算术运算、关系运算和逻辑运算中算术运算的优先级最高,逻辑运算优先级最低,但逻辑非运算是单目运算,它的优先级比双目运算要高。
字符型数据
在MATLAB中字符串用单引号括起来的字符序列。
若字符串含有单引号,则单引号字符要用两个单引号
建立多行字符串,形成字符串矩阵(列数必须相同)
字符串操作
evals(s)把s作为具体matlab命令执行
abs(s)和double(s)都可以获取字符串矩阵所对应的ASCII码数值矩阵
char()可以把ASCII码矩阵转换为字符串矩阵。
字符串的比较
关系运算符比较:(长度相等的情况下)两个字符串里的每个字符依次按ASCII值大小逐个进行比较,比较的结果是一个数值向量,向量中的元素要么是1要么是0。
strcmp(s1,s2)用于比较s1和s2是否相等如果相等返回结果为1,否则为0.
strncmp(s1,s2,n)用来两个字符串前n字符是否相等,如果相等,返回1,
否则返回0.
strcmpi(s1,s2)在忽略大小写比较s1,s2.
strncmp(s1,s2,n)在忽略大小写比较前n个字符。
findstr(s1,s2)返回短字符串在长字符串的开始位置
strrep(s1,s2,s3)将字符串s1中的所有子字符串s2替换为字符串s3.
class()获取数值类型。
整型:无符号8位(0~255)
带符号8位(-128~127)
还有 16 32 64位
uint8()把数值转换为无符号整型 int8()将数值转换为有符号整型
浮点型
单精度 :single()将其他数值转换为单精度型。
双精度(默认):double()……转换为双精度型。
复数型
形式如:a+bj(i);
real():求复数的实部
imag():求复数的虚部
数值数据的输出格式
format命令的格式:format 格式符(long/空格:15位小数/分数)
常用数学函数
函数名(函数自变量的值)
函数自变量规定为矩阵变量,也可以为标量。
exp()函数自然指数函数
三角函数:以角度为单位的函数在函数名后加d以示区别。(sind cosd tand)。
abs()函数 可求:实数->绝对值
复数->模
字符串->ASCII码值
取整函数:
fix()取靠近0的。
floor()取小
ceil()取大
round()四舍五入
求余函数:
rem(x,y):例如rem(123,10)=3
mod(x,y): mod(123,10)=3
判断是否为素数的函数:isprime()函数 是则返回1 否则返回0
find()找出所有非零数的下标。
求[1,100]区间的所有素数:
>>x=1:100;
>>k=isprime(x);
>>k1=find(k);
>>p=x(k1)
变量及其操作
变量本质上讲是内存单元的一个抽象
在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。
变量名区分大小写,标准函数名命令名必须小写字母。
赋值语句两种格式
变量=表达式
表达式(赋给了ans)
预定义变量
ans是默认赋值变量
i和j代表虚数单位
pi代表圆周率
NaN代表非数
save 文件名 变量1 变量2 …… 保存变量到mat文件中
load 文件名 加载变量到工作区
who 显示变量名
whos 显示变量名和大小,字节数
矩阵的建立
1)直接输入法:将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或空格分隔,不同行的元素之间用分号分隔。
示例:[1,2,3;4,5,6]
2)利用已建好的矩阵建立更大的矩阵;一个大矩阵可以由已经建立好的小矩阵拼接而成。
>>A=[1,2,3;4,5,6];
>>B=[-1,-2,-3;-4,-5,-6];
>>C=[A,B;B,A]
3)可以用实部矩阵和虚部矩阵构成复数矩阵。
>>B=[1,2,3;4,5,6]
>>C=[6,7,8;9,10,11]
>>A=B+i*C
冒号表达式
格式:e1:e2:e3 初始值:步长:终止值 (向量)
省略e2则步长为1
linspace(a,b,n) (第一个元素,最后一个元素,元素总数) n省略时自动产生100个元素。
结构矩阵
格式为:结构矩阵元素.成员名=表达式
单元矩阵
建立单元矩阵和一般矩阵相似,直接输入就可以了,只是单元矩阵元素用大括号括起来。
示例:b={10,'zhou',[1,2;3,4];20,'wei',[7,8;9,10]}
矩阵元素的引用
1)通过下标来引用矩阵的元素
A(3,2)表示A矩阵第三行第二列的元素
如果超出原矩阵,则扩展,未赋值的元素为0
2)通过序号来引用
①在MATLAB中,矩阵元素按列存储,即首先存储的第一列元素,然后存储第二列元素,……,一直到矩阵的最后一列元素。
②矩阵元素的序号就是矩阵元素在内存中的排列顺序。
>>A=[1,2,3;4,5,6];
>>A(3)
ans=
2
序号和下标的关系
A(i,j)的序号为(j-1)*m+i
sub2ind(S,I,J)S:矩阵的行数与列数的向量 I为行下标,J为列下标
ind2sub(S,D) S:同上,D:为下标。
利用冒号表达式获得子矩阵
A(i,:)第i行的全部元素
A(:,j)第j列的全部元素
A(i:i+m,k:k+m)第i~i+m行内且在第k~k+m列中的所有元素
A(i:i+m,:)第i~i+m行的全部元素
end运算符:表示某一维的末尾元素下标。
利用空矩阵删除矩阵的元素
将特定子矩阵赋值为空矩阵即可删除矩阵
改变矩阵的形状
reshape(x,3,4)将矩阵x逻辑结构变为m行n列的矩阵。
A(:)将矩阵A的每一列元素堆起来,成为一个列向量。
MATLAB基本运算
算术运算
1)基本算术运算
加减
要求两个矩阵同型,则运算时两矩阵的相同元素加减。
若不同型,则MATLAB将给出错误信息。
一个标量也可以和矩阵进行加减运算,这时标量和矩阵的灭一个元素进行加减运算。
乘法
矩阵A和B进行乘法运算,要求A的列数与B的行数相等,此时则称A、B矩阵是可乘的,或称A和B两矩阵维数和大小相容。
除法
在MATLAB中,有两种矩阵除法运算:右除/和左除\.
如果A矩阵是非奇异方阵,则B/A等效于B*inv(A),A\B等效于inv(A)*B.
对于矩阵来说,右除和左除表示两种不同的除数矩阵和被除数矩阵关系。
乘方
一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。
点运算
点运算符:.*,./,.\和.^
两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵同型。
关系运算符
<小于 <=小于或等于 >大于 >=大于或等于 ==等于 ~=不等于
关系表达式成立结果为1 否则为0
当参与比较的量是两个同型矩阵时,比较是两矩阵相同位置的元素按标量关系运算规则逐个进行,最终关系运算的结果是一个与原矩阵同型的矩阵,它的矩阵由0或1组成。
标量与矩阵比较同上
逻辑运算
逻辑运算符:&与、|或和~非
逻辑运算矩阵运算与关系运算类似。
在算术运算、关系运算和逻辑运算中算术运算的优先级最高,逻辑运算优先级最低,但逻辑非运算是单目运算,它的优先级比双目运算要高。
字符型数据
在MATLAB中字符串用单引号括起来的字符序列。
若字符串含有单引号,则单引号字符要用两个单引号
建立多行字符串,形成字符串矩阵(列数必须相同)
字符串操作
evals(s)把s作为具体matlab命令执行
abs(s)和double(s)都可以获取字符串矩阵所对应的ASCII码数值矩阵
char()可以把ASCII码矩阵转换为字符串矩阵。
字符串的比较
关系运算符比较:(长度相等的情况下)两个字符串里的每个字符依次按ASCII值大小逐个进行比较,比较的结果是一个数值向量,向量中的元素要么是1要么是0。
strcmp(s1,s2)用于比较s1和s2是否相等如果相等返回结果为1,否则为0.
strncmp(s1,s2,n)用来两个字符串前n字符是否相等,如果相等,返回1,
否则返回0.
strcmpi(s1,s2)在忽略大小写比较s1,s2.
strncmp(s1,s2,n)在忽略大小写比较前n个字符。
findstr(s1,s2)返回短字符串在长字符串的开始位置
strrep(s1,s2,s3)将字符串s1中的所有子字符串s2替换为字符串s3.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询