MATLAB GUI设计(1)
1、数据类型
MATLAB有17种基本的数据类型,每种类型的数据都以矩阵或数组的形式存在。矩阵或数组的最小尺寸是0*0。
2、常用字符串操作函数
函数 | 调用格式 | 函数说明 |
---|---|---|
num2str | str=num2str(A);str=num2str(A,precision);str=num2str(A,format) | 数字转换为字符。若A为字符串,返回A。precision为最大精度,默认为5位精度。format为格式字符串 |
str2num | x=str2num(‘str’) | 将字符串或字符数组转换为数字或矩阵;4位精度 |
str2double | x=strdouble(‘str’) | 字符串或字符数组转换为双精度;输入若不是有效值返回NAN |
% str2num与str2double都可以将字符串转为数值,但是str2num位矩阵运算,str2double为标量运算。因此,当需要生成一个数值时,两个都可以用,但是str2double运算速度更快一些。
3、结构数组
类似于C语言的结构体,创建结构数组有两种方法:
(1)使用(.)运算符
>>results.name = 'Xiaoming';
>>results.rank = 2;
>>results.score = [88 89 87];
>>results
results =
name:'Xiaoming'
rank:2
score:[88 89 87]
(2)利用struct函数
s = struct('field1',values1,'field2',values2,...)
%field1、field2是字段名,values1、values2等为对应的字段数据,必须是同样大小的单元数组或标量
4、单元数组
单元数组是一种特殊数组,在一个数组中包含多个单元(cell),每个单元作为一个独立的单元存储数据。
创建单元数组有使用大括号{}和使用cell两种方法。
(1)使用大括号赋值语句,有“单元索引”和“内容索引”两种方式。
1)单元索引:
>>clear A
>>A(1) = {{'Xiaoming';'Liming'}};
>>A(2) = {['B','A']};
>>A(3) = {[88 87 84;98 87 94]};
2)内容索引:
>>clear B
>>B{1} = {'Xiaoming';'Liming'};
>>B{2} = ['B','A'];
>>B{3} = [88 87 84;98 87 94]
(2)使用cell函数初始化单元数组
调用格式 | 格式说明 |
---|---|
c = cell(n) | 创建一个n*n的各单元为空矩阵的单元数组 |
c = cell(m,n) | 创建一个m*n的各单元为空矩阵的单元数组 |
c = cell(m,n,p,…) | 创建一个mnp*… 的各单元为空矩阵的单元数组 |
c = cell(size(A)) | 创建一个与A同维的各单元为空矩阵的单元数组 |
5、矩阵操作
(1)创建矩阵
矩阵构造符:[] ,在方括号中写入矩阵元素,元素之间用空格或者逗号隔开构成矩阵的一行。行与行之间用分号隔开。
>>a = [1 2,3]
a =
1 2 3
(2)常用矩阵操作
求行列式:det(A)
求秩:rank(A)
求逆:A^-1 or inv(A)
求转置:A’
求特征值:eig(A)
求主对角线元素和:trace(A)
生成单位阵:eye(dimension)
生成对角阵:diag(V,K),(V为对角线上的元素,K为偏离主对角线的列数。K=0表示主对角线,K>0表示主对角线之上, K<0表示主对角线之下。K可省略。)
A=[1,2,3]
diag(A)
ans =
1 0 0
0 2 0
0 0 3
diag(A,1)
ans =
0 1 0 0
0 0 2 0
0 0 0 3
0 0 0 0
6、函数参数
【注意】
1)函数名必须由数字、字母或下划线组成,以字母开头,如a_1。
2)函数文件的文件名必须与函数名一致。