matlab 0 12 2,matlab(2)

这篇博客介绍了MATLAB中的基本数据结构,包括矩阵的输入与显示,如何通过冒号表达式进行元素提取,以及多维数组的创建。此外,还详细讲解了字符串的使用,如比较、查找、替换和长度测量。MATLAB的灵活性在无需预先声明矩阵维数和动态扩展矩阵方面体现得尤为明显。
摘要由CSDN通过智能技术生成

MATLAB 支持的数据结构

MATLAB 语言的赋值语句有两种:变量名 = 运算表达式

[返回变量列表] = 函数名(输入变量列表)

MATLAB 支持变量和常量,其中 pi 为圆周率 p, 更重要的,MATLAB 支持 IEEE 标准的运算符号,如 Inf 表示无穷大,NaN (Not a Number) 为 0/0, 0*Inf 或 Inf/Inf 等运算结果。MATLAB 变量名应该由字母引导,后面可以跟数字、字母或下划线等符号。MATLAB 是区分变量名字母大小写的。

(1) 矩阵

MATLAB 最基本的数据结构是复数矩阵。输入一个复数矩阵是很简单的事。例如可以给出下面的语句:

>> B=[1+9i,2+8i,3+7j; 4+6j 5+5i,6+4i; 7+3i,8+2j 1i]

其中 >> 为 MATLAB 的提示符。矩阵各行元素由分号分隔,而同行不同元素由逗号或空格分隔。给出了上面的命令,则可以给出下面的结果。B =

1.0000 + 9.0000i 2.0000 + 8.0000i 3.0000 + 7.0000i

4.0000 + 6.0000i 5.0000 + 5.0000i 6.0000 + 4.0000i

7.0000 + 3.0000i 8.0000 + 2.0000i      0 + 1.0000i

其中,元素 1+9i 表示复数项。有这样的表述方法,实矩阵、向量或标量均可以更容易地输入了。如果赋值表达式末尾有分号,则其结构将不显示,否则将显示出全部结果。

MATLAB 和其他语言不同,它无需事先声明矩阵的维数。下面的语句可以建立一个更大的矩阵>>  B(2,5)=1

B =

1.0000 + 9.0000i 2.0000 + 8.0000i 3.0000 + 7.0000i   0        0

4.0000 + 6.0000i 5.0000 + 5.0000i 6.0000 + 4.0000i   0   1.0000

7.0000 + 3.0000i 8.0000 + 2.0000i      0 + 1.0000i   0        0

冒号表达式是 MATLAB 里最具特色的表示方法。其调用格式为 a=s1:s2:s3; 这一语句可以生成一个行向量,其中 s1 为向量的起始值,s2 为步距,而 s3 为向量的终止值。例如 S=0:.1:2*pi; 将产生一个起始于 0, 步距为 0.1, 而终止于 6.2 的向量 (pi 为 MATLAB 保留常量p), 而不是终止于2p。如果写成 S=0:-0.1:2*pi; 则不出现错误,而返回一个空向量。

冒号表达式可以用来提取矩阵元素,例如 B(:,1) 将提取 B 矩阵的第 1 列而 B(1:2,1:2:3) 将提取 B 的前 2 行与 1,3,5 列组成的子矩阵。在矩阵提取时还可以采用end 这样的算符。如 B(2:end,:) 将提取 B 矩阵的后 2 列构成的子矩阵。

(2) 多维数组

多维数组是 MATLAB 在其 5.0 版本开始提供的。假设有 2 个 3x3 矩阵 A1, A23,则可以由下面的命令建立起一个 3x3x2 的数组:A=cat(3,A1,A2)。试验 A1=cat(2,A1,A2) 和 A2=cat(1,A1A2) 将得到什么结果。

对矩阵或多维数组 A 可以使用 size(A) 来测其大小,也可以使用 reshape() 函数重新按列排列。对向量来说,还可以用 length(A) 来测其长度。

不论原数组 A 是多少维的,A(:) 将返回列向量。

(3) 字符串与字符串矩阵

MATLAB 的字符串是由单引号括起来的。如可以使用下面的命令赋值

>> strA='This is a string.'

多个字符串可以用 str2mat() 函数构造出字符串矩阵。如 B=str2mat(strA, 'ksa saj','aa');字符串变量可以由下表中的命令进行操作:命令

意义

命令

意义

strcmp(A,B)

比较A和B字符串是否相同。

findstr(A,B)

测试A是否为B的子字符串,或反过来

strrep(A,s1,s2)

在A中用s2替换s1

length(A)

字符串A的长度

deblank(A)

删除A字符串尾部的空格

double(A)

字符串转换双精度数据

(4) 单元数据结构

用类似矩阵的记号将给复杂的数据结构纳入一个变量之下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值