MATLAB中字符和字符串操作

Matlab 中的字符(char)和字符串(string)_matlab char转字符串-CSDN博客

字符和字符串相互转,很多时候还是需要的。如下面的代码,需要判断一系列ASCII码,其实是判断字符串,首先fread读到的是数组型,经dec2hec转字符数组,还需要string转字符串型,才更好判断,当然用字符数组也可以判断。

close all,clear,clc% PATH= 'C:\Users\User\Downloads\'; % path, where data are saved
PATH='data\';
NPD_filename= 'ESTBC001.NPD';      % header-file in text format
signald= fullfile(PATH, NPD_filename);%% 标准数据头判断%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 以字节读取文件
fid=fopen(signald,'r');
A = fread(fid, inf,  'uint8')';  %
%  x=fscanf(fid2,'%g');  %
fclose(fid);B = dec2hex(A);
for i=1:518  % 文件头518个字节,其实不用判断到518个
%     % 解析每包数据有多少个数据点,即recordingPeriodTicks
%     % if( string(B(i,:)) == '67'&&string(B(i+1,:)) == '50'&&string(B(i+2,:)) == '65'&&string(B(i+3,:)) == '72'&&string(B(i+4,:)) == '69'&&string(B(i+5,:)) == '6F'...,
%         &&string(B(i+6,:)) == '64'&&string(B(i+7,:)) == '54'&&string(B(i+8,:)) == '69'&&string(B(i+9,:)) == '63'&&string(B(i+10,:)) == '6B'&&string(B(i+11,:)) == '73' )
%     bit1 = char(  hex2dec( B(i+13,:) )   );  
%     bit2 = char(  hex2dec( B(i+14,:) )  );  
%     bit3 = char(  hex2dec( B(i+15,:) )  );  
%     bit4 = char(  hex2dec( B(i+16,:) )  );  
%     recordingPeriodTicks = str2num( [bit1 bit2 bit3 bit4] );
% end   
% 解析采样数据点数参数,即numEcgSamples
if( string(B(i,:)) == '6E'&&string(B(i+1,:)) == '75'&&string(B(i+2,:)) == '6D'&&string(B(i+3,:)) == '45'&&string(B(i+4,:)) == '63'&&string(B(i+5,:)) == '67'...,&&string(B(i+6,:)) == '53'&&string(B(i+7,:)) == '61'&&string(B(i+8,:)) == '6D'&&string(B(i+9,:)) == '70'&&string(B(i+10,:)) == '6C'&&string(B(i+11,:)) == '65'&&string(B(i+12,:)) == '73' )bit1 = char(  hex2dec( B(i+14,:) )   );  bit2 = char(  hex2dec( B(i+15,:) )  );  bit3 = char(  hex2dec( B(i+16,:) )  );  bit4 = char(  hex2dec( B(i+17,:) )  );  numEcgSamples = str2num( [bit1 bit2 bit3 bit4] );break;
end       
end%% 重新以双字节读取文件
clear A;clear B;
fid=fopen(signald,'r');
A = fread(fid, inf,  'uint16')';  %
%  x=fscanf(fid2,'%g');  %
fclose(fid);B = dec2hex(A);% 每两个028F之间取数据,拼接成采样数组。第一个头和第二个头之间不是数据。
% 只考虑028F是简化方法,因为文件头起始也是028F(实际是02 8F 00 02 00 01),数据最后也有一个028F(实际是02 8F 00 00 01 01)
% 实际的数据头是02 8F 00 01 00 02,也可用标准数据头判断
%% 简化方法判断%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bgn_pos_buf = [];
C = [];
for i=1:length(B)if( B(i,1)=='0'&&B(i,2)=='2'&&B(i,3)=='8' &&B(i,4)=='F' )ibgn_pos_buf = [bgn_pos_buf i];if(length(bgn_pos_buf)>2)  %C = [ C; B(bgn_pos_buf(end-1)+3:bgn_pos_buf(end)-1,:) ];endend
end%% 数据
D = hex2dec(C);
if(length(D)==numEcgSamples)  % 验证数据个数是否正确clc;fprintf("截取的数据个数和文件头中解析出个数:----对上----\n");
%     disp("get data OK!");plot(D);
elseD = D(1:numEcgSamples);clcfprintf("截取的数据个数和文件头中解析出个数:----没对上----\n");plot(D);
endzhh =1;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/175281.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】模板方法模式

目录 一、定义二、使用场景三、使用方法四、结构五、代码示例六、优点七、缺点八、适用场景 一、定义 1.在父类定义一个操作中的算法骨架,将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤 二、使用场景 …

Vue3-pnpm包管理器创建项目

一些优势:比同类工具快2倍左右、节省磁盘空间 官网:pnpm - 速度快、节省磁盘空间的软件包管理器 | pnpm中文文档 | pnpm中文网 npm升级到yarn再升级到pnpm(速度更快) 安装方式:npm install -g pnpm 创建项目&#…

测试数据随机,给2n个点,求所有偏移量,使得每两个点成为一个匹配

题目 #include<bits/stdc.h> using namespace std; #define int long long const int maxn 2e5 5; int n; struct Poi{int x, y;// Poi() default;// Poi(int x, int y): x(x), y(y) {}Poi operator-(Poi u){// Poi res {abs(x - u.x), abs(y - u.y)};不能直接都取绝…

【vue】浏览器安装vue插件不生效

上一篇&#xff1a;浏览器安装vue插件 https://blog.csdn.net/m0_67930426/article/details/134598104 目录 问题情景 解决办法 问题情景 输入框无内容 解决办法 添加 Vue.config.devtools true; 并且控制台不显示的vue又出现

C_6微机原理

一、单项选择题&#xff08;本大题共 15小题&#xff0c;每小题3分&#xff0c;共45分。在每小题给出的四个备选项中&#xff0c;选出一个正确的答案&#xff0c;请将选定的答案填涂在答题纸的相应位置上。 n1 位有符号数 的补码表示范围为&#xff08;&#xff09; A. -2n&l…

Django回顾

目录 1.c/s架构 2.b/s架构 3.基于socket写一个web应用 main.py index.html 4.手写web框架 main.py login.html time.html user_list.html user_list_new 二.HTTP协议 1.什么是HTTP协议 2.HTTP协议的作用 3.HTTP版本及区别 4.HTTP协议的特点 5.HTTP请求协议 常…

lenovo联想笔记本YogaPro 14s IRP8D 2023款(83BU)原装出厂Windows11预装OEM系统

链接&#xff1a;https://pan.baidu.com/s/1s7PcN-y8RyHSV7uJQzC5OQ?pwddy9y 提取码&#xff1a;dy9y 联想电脑原厂W11系统&#xff0c;自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16GB或以上的U盘…

linux task_struct中进程调度相关的变量记录

参考文章&#xff1a; Linux进程调度分析记录&#xff0c;进程优先级&#xff0c;隔离处理器&#xff0c;isolcpus - 知乎

echarts 通用线性图

echarts 通用线性图 getLineData() {const myChart echarts.init(this.$refs.chartDom);const option {tooltip: {trigger: axis,},legend: {show: false,textStyle: {fontSize: 14, //字体大小color: #ffffff, //字体颜色},data: [AAA, BBB],},grid: {show: true,left: 10%,…

【NGINX--7】安全控制--2

1、HTTPS 重定向 将未加密的请求重定向到 HTTPS。 使用 rewrite 指令将所有 HTTP 流量发送到 HTTPS&#xff1a; server {listen 80 default_server;listen [::]:80 default_server; server_name _;return 301 https://$host$request_uri; }此配置用于侦听 IPv4 和 IPv6 以及…

Linux文件操作应用及open和fork

1.文件操作的应用: 1).打开一个文件并往里面写入hello: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <fcntl.h> #include <assert.h> int main() { int fdopen("file.txt",O_WRONLY|O_CREAT,0600); …

NJU操作系统公开课笔记(2)

上期目录&#xff1a; NJU操作系统公开课笔记&#xff08;1&#xff09;https://blog.csdn.net/jsl123x/article/details/134431343?spm1001.2014.3001.5501 目录 一.处理器与寄存器 二.中断 三.中断系统 四.进程 五.线程与多线程技术概述 六.处理器调度算法 一.处理器…

完美的输出打印 SQL 及执行时长[MyBatis-Plus系列]

导读 Hi,大家好,我是悟纤。过着爱谁谁的生活,活出不设限的人生。 在我们日常开发工作当中,避免不了查看当前程序所执行的SQL语句,以及了解它的执行时间,方便分析是否出现了慢SQL问题。 MyBatis-Plus提供了两种SQL分析打印的方式,用于输出每条SQL语句及其执行时间,针…

上游任务和下游任务

起源多任务学习中的定义理解结合定义分析例子示例 1&#xff1a;计算机视觉示例 2&#xff1a;自然语言处理示例 3&#xff1a;语音处理示例 4&#xff1a;强化学习总结 起源 "上游任务"和"下游任务"这两个术语在深度学习领域中通常用来描述一种 多任务学…

FLASK博客系列6——数据库之谜

我们上一篇已经实现了简易博客界面&#xff0c;你还记得我们的博客数据是自己手动写的吗&#xff1f;但实际应用中&#xff0c;我们是不可能这样做的。大部分程序都需要保存数据&#xff0c;所以不可避免要使用数据库。我们这里为了简单方便快捷&#xff0c;使用了超级经典的SQ…

​无人机石油管道巡检方案新亮点:灵活准确又高效

在当前石油工业的安全管理中&#xff0c;无人机技术逐渐成为一种不可或缺的工具。随着我国油气管道里程的持续增长&#xff0c;确保这些关键基础设施的安全运行变得越来越重要。传统的巡检方法已经无法满足现代油气行业的需求&#xff0c;而无人机石油管道巡检技术的应用提供了…

目标检测YOLO实战应用案例100讲-基于改进YOLO深度学习模型的烟支外观质量检测(续)

目录 基于YOLOv5烟支外观缺陷检测研究 4.1本章引言 4.2YOLOv5s模型 4.2.1 输入端 4.2.2 Backbone部分

【LeeCode】*76. 最小覆盖子串

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串&#xff0c;则返回空字符串 "" 。 注意&#xff1a; 对于 t 中重复字符&#xff0c;我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。 如…

2023.11.27如何使用内网穿透工具实现Java远程连接操作本地Elasticsearch搜索引擎

文章目录 前言1. Windows 安装 Cpolar2. 创建Elasticsearch公网连接地址3. 远程连接Elasticsearch4. 设置固定二级子域名 前言 简单几步,结合Cpolar内网穿透工具实现Java远程连接操作本地Elasticsearch。 什么是elasticsearch&#xff1f;一个开源的分布式搜索引擎&#xff0…

解决:AttributeError: module ‘os’ has no attribute ‘mknod’

解决&#xff1a;AttributeError: module ‘os’ has no attribute ‘mknod’ 文章目录 解决&#xff1a;AttributeError: module os has no attribute mknod背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景 在使用之前的代码时&#xff0c;报错…