matlab char 转asc码,科学网—C语言与MATLAB对二进制文件与ASCII文件转换 - 张凌的博文...
(1)DHSVM模型官方网站上提供了一个二进制文件与ASCII文件的转换代码,是用C写的,昨天我仔细看了一下的这个代码,对二进制文件读写有了更深的认识。这个代码是对矩阵数据做处理,因此需要提供行列号。同时,我发现这个代码还可以转换数据格式,比如float to int等等。
这个代码的是写了main函数完整代码,main函数的参数包括:from format, to format, infile, outfile, nrows 和 nclos。在CodeBlocks中,运行代码配置这些参数如下:
需要说明的是,如果是from format 和 to format如果均不包含asii格式,那么这个代码执行的是数据格式转换,而且输入输出都是二进制文件。在进行转换时,需要注意的是,如果from format 和 to format包含char格式时,一定要确保数据取值范围为(-128 - 127)之间,否则会出错。原因可参考:https://docs.mql4.com/cn/basis/types/integer/integertypes
对于多个需要转换的文件,可以写个批处理命令如下:
当然,也可以将这个带有main函数的文件转换为一个函数文件,这样在代码内部对其进行调用。
(2)Matlab对二进制文件与ASCII文件转换(矩阵数据),我昨天也写了一个转换的函数。如下:
函数的调用如下:
当然这个函数,写得也比较粗糙。其实后面我觉得用MATLAB完全没有必要写个函数来转换,直接调用matlab的fread()和fwrite()函数来读写即可。
这里强调一点,在matlab读二进制文件时,与C语言(一行读完,读下一行)不同,是按照先读完一列再读下一列的顺序。比如:一个不换行的文件里含有:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,想要输入matlab时,令其这样排:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
则fread应该写成:A=fread(fid,[5,3]),得到:
1 6 11
2 7 12
3 8 13
4 9 14
5 10 15
然后再转置,就能得到正确结果了。
如果错误地写成A=fread(fid,[3,5]),则得到
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15
显然即使转置也得不到正确结果。
转载本文请联系原作者获取授权,同时请注明本文来自张凌科学网博客。
链接地址:http://blog.sciencenet.cn/blog-922140-993328.html
上一篇:C读写二进制文件与文本文件
下一篇:显式与隐式差分
matlab char 转asc码,科学网—C语言与MATLAB对二进制文件与ASCII文件转换 - 张凌的博文...相关推荐
- python3的fft_科学网—用Python、Matlab、C实现傅立叶变换FFT() - 康建的博文
一.Python,使用numpy.fft.fft或scipy的fftpack.fft: import numpy as np t=np.array([0.300, 0.550, 1.119, 0.53 ...
- matlab根据乐谱播放音乐,科学网-[原][Matlab][04] Midi音乐键盘-王楠的博文
以前在网上读到一个用matlab播canon音乐的源码感觉很有意思,但声音还不够好. 于是想做个自己的音乐播放器,有键盘,有对应的钢琴声音,读取乐谱就能播.如下. (1)按键的音高与频率 从1到下一个 ...
- matlab画复变函数,科学网—复数复变函数的Matlab计算与绘图 - 周铁戈的博文
复数复变函数的Matlab计算与绘图 周铁戈 复数的表示 存在两种表示方法,一种是代数式,一种是指数式,在Matlab中的方式如下: >> z=1+2i #代数式,1 ...
- matlab批量生成灰度图像_科学网—matlab彩色图像的批处理转换为灰度、二值和主成分图图像 - 金秀良的博文...
这段代码主要用来进行图像的批处理转换为灰度.二值和主成分图图像,希望给大家借鉴.其中 RGB to bw可以直接实现,但是效果不好,所以先用RGB to gray,之后再gray to bw.RGB ...
- matlab 二维矩形函数,科学网—利用MATLAB对非矩形域实现二维插值 - 张乐乐的博文...
>> load('x1.mat'); >> load('y1.mat') >> load('T.mat'); >> load('Lon.mat'); & ...
- matlab 二维插值 验证,科学网-利用MATLAB对非矩形域实现二维插值-张乐乐的博文...
>> load('x1.mat'); >> load('y1.mat') >> load('T.mat'); >> load('Lon.mat'); & ...
- matlab 数据分割,科学网—MATLAB把一个包含多个站点数据的文件分割到各个站点单独的文件夹 - 张乐乐的博文...
有65个站点的气象数据,但是这些数据全部在一个文件中,本程序主要想着把每个站点的数据放在各个单独的文件夹中.下面是我给写的程序: clear;clc %读取数据 shuju=importdata('C ...
- matlab的peer啥意思,科学网—Matlab读取PEER地震动记录数据库加速度数据函数 - 王德才的博文...
PEER地震动记录数据库是目前应用最为广泛的数据库,为了便于利用其中的强震记录,对几年前采用Matlab编写的读取加速度数据函数进行了改写,使用了向量化的编写规则,减少了原有的循环处理,比原来的程序简 ...
- matlab加速度转化为位移,科学网—Matlab编写由加速度积分得到速度和位移函数 - 王德才的博文...
研究中经常会用到将加速度数据积分成速度和位移,对前几年编写的程序重新进行了改写.为了测试和验证peer2acc函数.dirFolder函数和acc2vd函数,编写了一个简单的测试程序 acc2vd函数 ...
- 单纯性搜索算法 matlab函数,科学网—一种有效的最优化方法——Nelder-Mead单纯形直接搜索算法 - 王福昌的博文...
虽然MATLAB本身自带了fminsearch()函数,可以求解目标函数无梯度的最优化问题,但是感觉下面的程序在很多时候更好用,特别是自变量有边界和非线性约束的时候. 这里是John D'Errico ...
最新文章
- 最小长度电路板排列问题_射频电路板设计,这篇文章五大总结不可忽视!
- Python Coding Guidelines
- android service 学习(下)
- js获取url参数值
- android学汇资料总整理
- seo每日一贴_白杨SEO:我看ZAC的外贸SEO应该怎样做?(策略篇)
- 寄存器分配图着色_寄存器分配
- DELPHI跨平台的临界替代者
- 【HDU - 6558】The Moon(期望dp)
- Android10打断动画,Android开发(10) 动画(Animation)
- [CF Skills]如何在预定的时间运行你的程序
- 在Windows下编译OpenSSL(VS2005)【转】
- gsm模块 java 录音_Android GSM驱动模块详细分析
- python怎么读文件-python怎么读json文件
- jquery中ajax应用——get()和post()
- 原神改文件换服务器,原神官服和b服怎么切换
- 蚂蚁花呗账单分期和交易分期的费用如何计算?
- Spark学习-DAY1
- 为 Nexus 5 准备的 Sailfish 移植版本
- 2012年9月TIOBE编程社区指数
热门文章
- c语言输出打印字符串数组,C语言字符串输出
- python教你如何把自己的微信变成机器人
- Easyui datagrid数据清空
- 安防监控、智慧交通 视频结构化(车辆+行人)实现方案
- 华三交换机查看光模块参数的命令
- android转发短信到邮箱,Android手机使用Tasker转发短信及来电
- docker打包镜像上传_docker制作自己的镜像并上传dockerhub
- 深入Unreal蓝图开发:实现蓝图模板函数
- php汽车保养oa,汽车行业oa管理系统
- 计算机研究院分所烟台,综合新闻_中科院计算所烟台分所 烟台中科网络技术研究所...