matlab常用命令解析(修订版)

  • matlab擅长矩阵操作,应错采用矩阵索引的方式进行运算而避免使用for循环。
  • 串口相关
%删除所有串口,防止串口一直被MATLAB占用
delete(instrfindall);  
  • 文件读写
%filename.dat是通过USB采集到的原始数据,通过fopen将数据以2进制形式读取
	fid=fopen([filename '.dat'],'rb');
%将二进制读取来的数据以无符号8位数存储在raw中
    raw = fread(fid,'uint8');
%关闭文件读取
    fclose(fid);
%对数据进一步处理
    raw = raw(4001:end);
%将提取后的数据保存成mat格式,并把原先的.dat文件删除。(.mat是提取过有效数据的文件比.dat小)
  save([filename num2str(test_num) '_eng.mat'],'eng');
  delete([filename num2str(test_num) '.dat']);
  • 格式转换
%加载.mat文件并转换成方便处理的矩阵格式
EDGE_TDC_NTC = cell2mat(struct2cell(load('TDC_NTC.mat'))); 
  • 矩阵形式重构
%将矩阵A重构为m*n的矩阵,元素是从A中按列读取的,并且按列排放到D中
D=reshape(A,m,n);

%将矩阵A作为一个元素,并用其重复生成一个新的m*n的矩阵
%其中的每一个元素都是A,新矩阵的行列数由mn和A本身的行列数决定
E=repmat(A,m,n);

%fliplr用于将矩阵A左右镜像 ,flipud(A)上下镜像
F=fliplr(A);

%cat:用来联结数组
cat(2, A, B);% 相当于[A, B]; 行拼接,AB行数要相同。

cat(1, A, B);% 相当于[A; B]. 列拼接

%排序

  • 矩阵元素提取
%找到duty_cycles中第一个满足duty_cycles>0.49 & duty_cycles<0.51条件的元素,返回其行数
ref_clk_list(1) = find(duty_cycles>0.49 & duty_cycles<0.51, 1 );

%找出出现频率最高的值
x_peak = mode(array_eng_total);

%找phase_relation中到所有满足phase_relation(:,5) == ref_clk_list(2)的返回其行数
index = find(phase_relation(:,5) == ref_clk_list(2));
  • 产生数据
%在[0,2pi]范围内取10个均分的点
m=linspace(0,2*pi,10);

random 语句,其一般形式为
y = random('分布的英文名',A1,A2,A3,m,n),
表示生成 m 行 n 列的 m × n 个参数为 ( A1 , A2 , A3 ) 的该分布的随机数。例如:
(1) R = random('Normal',0,1,2,4): 生成期望为 0,标准差为 1 的(2 行 4 列)2× 4 个正态随机数
(2) R = random('Poisson',1:6,1,6):  依次生成参数为 1 到 6 的(1 行 6 列)6 个 Poisson 随机数
  • matlab的&&与&的区别
1、用法不同
&适用于矩阵间的逻辑运算,&&不适用,只适用于单个元素,包括数值和字符
2、使用效果不同
当判断两个逻辑值时,例如A&(f(x)>c)和A&&(f(x)>c)时,对于第一种情况,不论A是否为真,A和(f(x)>c)都要计算,但是对第二种情况,如果A是false,那么后面的(f(x)>c)就不用计算了,倘若f(x)是一个计算量大的函数,那么这将节省很多时间。
  • hist顶点绘图
hist_temp = hist(diff(edge_value_result),35);
plot(hist_temp); ylim([0 250]); xlim([0 35]);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arist9612

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值