在matlab程序中怎样给一个集族的成员编号?

如题所述

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.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-26
用向量可以表示集合不?我大学期间用过,后来好久不用了。。。都忘记啦
相似回答