matlab笔记一

dolires / 2023-08-05 / 原文

\(Note1\)

基本数据类型

1.16 32 64 bit
int float double(默认)
signed unsigned
2.complex(real+image)
3.format long/short

矩阵

% 空格/逗号分隔同一行之间的数
A=[1 2 3;4,5,6]
% 四行四列随机矩阵
B=rand(4)
% 冒号表达式
a=1:2:19 % start:walk:end
b=linspace(1,10,20) % start,end,num
A(:,3)% 第三列
A(1:2,1)% 一二行的第一列
% 常用操作
length(A) % 长度(行or列,选最长的那个)
ndims(A) % 维数
numel(A) % 个数
reshape(A,3,2) % 重构,但数组元素个数不变,从列开始排

常用内部函数

m=5+cosd(47); % cos后跟弧度
x=sqrt(7)-2i;
y=exp(pi/2);
n=1+abs(x-y);
z=m/n;
log(10) %默认底为e,还有log2和log10
pow2(16)
gcd(12,85)
factorial(5)

字符串

str1='MATLAB'
a=abs(str1) %转为ASCII码
char(str1+32) %又转为小写字符串

结构(structure)

clear;
% 定义一个 1×4 结构矩阵
structA(1).ID=0001;
structA(1).name='Mike';
structA(1).data=[30 50;80 90];

structA(2).ID=0002;
structA(2).name='Kate';
structA(2).data=[50 30;90 10];

structA(3).ID=0003;
structA(3).name='Amy';
    name.pet_name='sweet';
    name.used_name='White';
structA(3).data=[40 70;20 60];

structA(4).ID=0004;
structA(4).name='John';
structA(4).data=[45 15;25 10];
structA(4).gender='Male';

structA

单元/元胞(cell)

% cell与struct的区别在于cell的元素没有自己的名字
cellA={1,'Mike',[10 20;30 40];
        2,'Kate',[90 85;60 13];
        3,'Amy',[77 89;50,4]}

% 索引的方式不同
cellA(2,3) % 返回的是cell类
cellA{2,3} % 返回的是cell该处元素的内容

% 向单元加入结构矩阵
structCellA.data1='testData1';
structCellA.data2='testData2';
cellA{3,4}=structCellA;
cellA{1,4}='MATLAB is the greatest software';
cellA{2,4}=structA;

% 显示整个元胞
celldisp(cellA);
cellplot(cellA); % 更直观

cellA{4}=[] % Mike那个词条位置仍在,只是内容为空了
cellA(4)=[] % 该词条直接被删除