由于刚刚开始使用matlab,所知甚少,用到的都是很皮毛的东西。记下来就当做是笔记了。
一、数组
1、数组的定义。
matlab中数组是按列存储的。但是在使用的时候仍是符合正常的习惯,即行,列优先的顺序。
创建一行数组 A=[1 2 3 4 5];或者中间用“,”即A=[1,2,3,4,5];
创建一列数组 B=[1;2;3;4;5].元素间是分号
如果想创建固定步长的数组可以 C=[1:1:10],1,2,3,……,10,列向量
如果是创建固定区间的数组,并指明个数,可以自动计算间隔 D=linspace(2,10,5);行向量,包括边界,这种方法叫定数线性采样
同理还可以定义定数对数采样 E=logspace(1,10,3)
2、数组的拼接。
行拼接 AA=[A,A].
列拼接 BB=[B;B].
3、数组元素的引用
matlab中数组下标从1开始,引用元素使用(position),如一维数组A(3),第三个元素,二维数组,B(3,4)三行4列的元素,可以使用”:”访问数组区间,如A(1:5),表示从第1-第5个元素,直接使用A(:)将得到全部的数据,冒号两边要么全部有数要么全部没有,不能使用半开区间如A(:5).
4、数组的计算
数组与数的四则运算是每个元素的计算 如A=[1 2 3 ],A=A+3将得到4,5,6
数组间的运算必须维度相同如A=[1 2 3 4 5],B=[1 2 3 4 5] C=A+B得到2 4 6 8 10
数组与数组间对应元素的计算使用".*" 如A.*B得到1 4 9 16 25,维度相同
数组对应元素的幂运算也要加"."如A.^2得到1 4 9 16 25
5、数组转置
A=A'
6、数组维度重置使用reshape方法
如A=[1 2 3 4 5 6 7 8 9], A=reshape(A,3,3)将得到3行3列的矩阵
二、文件操作
1、读二进制文件
二进制文件的读取使用fread 方法,使用流程是
fileID=fopen(path,'rb')
data=fread(fileID,size,precision);
fclose(fileID);
size 可以不指定,这样会读取整个文件,N:读出N个数据,构成列。Inf:读取全部数据,[M,N],读取数据放入MxN矩阵中。
precision可以是'float' 'char' 'int32'等等
2、文件写
文件写使用fwrite方法
fileID=fopen(path,'w')
fwrite(fileID,data,precision);
fclose(fileID);
三、画图操作
1、plot画图
对于一维的数据如A=[1 2 3 4 5 ],可以直接plot(A),MATLAB自动生成序列1,2,3,……,size(A),作为x轴,也可以自己制定x坐标数据,如B=[0.1,1; 0.2,2; 0.3,3; 0.4,4; 0.5,5]
plot(B(1:5,1:1:),B(1:5,2:2));这样横坐标就是0.1 0.2 0.3 0.4 0.5
2、其他设置
坐标轴xlabel('...'),ylabel('...'),图例legend('string1','string2'...)每条曲线的图示,标题title('string'),具体更细节的设置,参考官方文档
三、函数
四、窗口输出
这篇博客介绍了MATLAB的基本使用,涵盖了数组的定义、拼接、引用、计算以及转置;文件的读取与写入,特别是fread和fwrite函数的运用;还简单讲解了如何利用plot进行画图操作,包括自定义坐标轴和图例设置。

3万+

被折叠的 条评论
为什么被折叠?



