文件相对路径

在编码中尽可能使用相对路径

1、当前路径下,直接:' xxx.bin '

2、在下一级路径下,使用:' .\下一级路径文件名\xxx.bin '

3、在上一级路径下,使用:' ..\xxx.bin '

4、在平行文件夹内,使用:' ..\平行文件夹\xxx.bin '


为生成文件存放至单独的文件夹下

先创建路径,添加路径,最后生成可用路径

mkdir(strcat(url,num2str(idx)));

addpath(strcat(url,num2str(idx)));

dir = strcat(url,num2str(idx));


从excel中读取

[data, txt, raw] = xlsread('data.xlsx');

data为纯数据,字符串部分显示为NaN;txt仅读取字符串部分,数字部分为空白;raw读取所有,但为cell结构


从 txt 中读取内容

1、load —— 读取纯数据文本(没有字母和中文,纯数字);

2、importdata —— 只读取数据,自动忽略数据格式前后的字符,不适合超大文件

test1.txt

“你好

欢迎来到

这个论坛

vib.hit.edu.cn

1 11 111 1111

2 22 222 2222

3 33 333 3333

4 44 444 4444

5 55 555 5555”

[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)

说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。

这里%s的个数和[a1,a2,a3,a4]对应。

>> [a1,a2,a3,a4]=textread('test1.txt','%s%s%*s%*s')        #    %*s代表省略后两列数据

a1 =

'1'

'2'

'3'

'4'

'5'

a2 =

'11'

'22'

'33'

'44'

'55'

a3 =

'111'

'222'

'333'

'444'

'555'

a4 =

'1111'

'2222'

'3333'

'4444'

'5555'

因以字符串的形式读入,所以有' '。

3、textread、textscan —— 读取行列规整的文本,会存到元胞中,可通过headerlines省略读取字段名(字符行);

data = textscan(fid,'%s'){1,1};

  等同于

data = table2array(textscan(fid,'%s'));

4、csvread、dlmread —— 适合读取csv、xsl等文件格式文本;

5、fprintf、fscanf —— 适合读取复杂的文本(中英文、数字串混杂出现);

中文 数据 英文 混乱如test.txt

你好

1 11 111 1111

欢迎来到

2 22 222 2222

振动论坛

3 33 333 3333

vib.hit.edu.cn

4 44 444 4444

5 55 555 5555

说明:这种内容格式的文件用上面的方法是不行的。

fidin=fopen('test.txt');                               % 打开test2.txt文件

fidout=fopen('mkmatlab.txt','w');                       % 创建MKMATLAB.txt文件

while ~feof(fidin)                                      % 判断是否为文件末尾

tline=fgetl(fidin);                                 % 从文件读行

if double(tline(1))>=48&&double(tline(1))<=57       % 判断首字符是否是数值

fprintf(fidout,'%s\n\n',tline);                  % 如果是数字行,把此行数据写入文件MKMATLAB.txt

continue                                         % 如果是非数字继续下一次循环

end

end

fclose(fidout);

MK=importdata('MKMATLAB.txt');      % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来

>> MK

MK =

1          11         111        1111

2          22         222        2222

3          33         333        3333

4          44         444        4444

5          55         555        5555


把数组矩阵写入txt文件,并用逗号或空格隔开

1、若需要用,分隔,则下述' '用','替换。

dlmwrite('myfile.txt',A,'delimiter',' ');

  2、

fileID = fopen('mafile.txt','w');
fprintf(fileID,'%1d %1d %1d %1d\n',A);
fprintf(fileID,'PBCH_PORTS %d\n',idx);
fprintf(fid,'\n');
fclose(fileID); type('myfile.txt')

 


循环调用.exe,并给出对应输入参数的路径

如有model.exe,需要给出输入参数的路径:'.\Input\Case0',可按如下方式实现循环:

for idx = 1:length
mycmd = ['model ',strcat(['.\Input\Case',num2str(idx)])];
system(mycmd);
end

  一般情况下,也可通过如下方式调用.exe(!文件名    路径)

!model.exe  .\Input\Case0

  调用exe时, 无法直接得到返回值 。唯一获得运行结果的办法就是让它显示在屏幕上或者存储在文件中


读取.bin文件

url = '文件路径';                             % 尽可能使用相对路径
fid = fopen(url , 'rb'); %'r'是在文件存在的情况下,打开读;'r+'是读并写入;'w'是打开写入;'w+'读写;'a'末端添加;'a+'先读后写; 后两种也可在文件不存在的情况下操作,即创建文件。若后加'b'以二进制的形式打开;后加't'以文本形式打开。
fseek(fid , 12 , 'bof'); % 读取文件的指定位置。12为要跳过的字节数,可为正、负、0。即从第13个字节开始读。 'bof'或-1即文件开头;'cof'或0即当前位置;'eof'或1即文件结尾
config = fread(fid , 1 , 'uint32' , 'b'); % 中间数字为按后面的数据类型读取的个数。int32为4字节,int16为2字节,int8为1字节。 'b'为大字节序,即大端在前,二进制数据中的高位;'l'为小字节序,即小端在前,二进制数据中的低位
fwrite(fid,A,'int16','l'); % 若无指定,默认为小字节序
fclose(fid);
% 如422248对应的十六进制为67168,若用'b'的方式即为'00 06 71 68',若用'l'默认的方式即为'68 71 06 00'

把每次循环结果保存为一个文件

for i =1:5
m_ = num2str(i);
n_ = strcat(['.\Input\data\','num_case',m_,'.bin']); % 也可改为 .txt
fid = fopen(n_,'w');
a = 3;
fwrite(fid,a,'int32');
fclose(fid);
end

  类似地,如需要输出多个信息时,用([ ])的形式,如:disp (['case ', num2str(idx), 'output' ]);

matlab读写文件操作的更多相关文章

  1. Visual Studio 控制台应用程序 同时使用OpenCV和matlab mat文件操作

    matalb具有灵活的图像处理,代码编写起来简洁而高效.而OpenCV具有很多成熟的计算机视觉算法,能够处理很多实时的识别处理等问题,而且代码运行起来效率很高.所以如何结合两者之间的优点,是让很多学术 ...

  2. node.js的fs核心模块读写文件操作 -----由浅入深

    node.js 里fs模块 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFil ...

  3. c++中读写文件操作

    读写文件这个,不常用,每次用的时候都会百度一下,每次写法还都不一样,所有总是记混.今天利用点时间总结下之前工程中用过的.以后就安照这种方法写了. 搞acmicpc的时候喜欢用freopen(),这个是 ...

  4. Python 读写文件操作

    python进行文件读写的函数是open或file file_handler = open(filename,,mode) Table mode 模式 描述 r 以读方式打开文件,可读取文件信息. w ...

  5. Hadoop第4周练习—HDFS读写文件操作

    1    运行环境说明... 3 :编译并运行<权威指南>中的例3.2. 3 内容... 3 2.3.1   创建代码目录... 4 2.3.2   建立例子文件上传到hdfs中... 4 ...

  6. oracle中utl_file包读写文件操作实例学习

    在oracle中utl_file包提供了一些操作文本文件的函数和过程,学习了一下他的基本操作 1.创建directory,并给用户授权 复制代码 代码如下: --创建directory create ...

  7. Matlab之文件操作

    1.判断是否存在文件夹:if (exist(folderName,'dir')) 2.创建文件夹:mkdir(folderName) 3.删除文件夹:rmdir(folderName,'s') 4.当 ...

  8. python基础之文件操作

    对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...

  9. PythonStudy——文件操作 File operation

    # 文件:就是硬盘的一块存储空间 # 1.使用文件的三步骤: # 打开文件- 得到文件对象:找到数据存放在硬盘的位置,让操作系统持有该空间,具有操作权# 硬盘空间 被 操作系统持有# 文件对象f 被 ...

  10. golang中的文件操作

    一.文件的基本介绍 文件是数据源(保存数据的地方)的一种,比如经常使用的word文档,txt文件,excel文件都是文件.文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保持视频,声音等等. ...

随机推荐

  1. 【KAWAKO】MobaXterm-使用MobaSSHTunnel进行端口映射

    目录 在Tools中打开MobaSSHTunnel(port forwarding) 点击New SSH tunnel 配置信息 点击运行 访问端口 在Tools中打开MobaSSHTunnel(po ...

  2. CF335F Buy One, Get One Free

    \(\text{Solution}\) 其实不想写(因为不好写... 所以贴贴 \(\text{Solution}\) 然而就关于这题而言讲得也不太清楚 可撤销贪心就是维护当前状态的最优解,同时考虑以 ...

  3. 代码随想录算法训练营day23 | leetcode 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

    LeetCode 669. 修剪二叉搜索树 分析1.0 递归遍历树时删除符合条件(不在区间中)的节点-如何遍历如何删除 如果当前节点大于范围,递归左树,反之右树 当前节点不在范围内,删除它,把它的子树 ...

  4. 02#Web 实战:实现树形控件

    前言 这是一篇个人练习 Web 前端各种常见的控件.组件的实战系列文章.本篇文章将介绍个人通过 JQuery + 无序列表 + CSS 动画完成一个简易的树形控件. 最终实现的效果是: 这样结构比较复 ...

  5. react-native-sortable-list没有渲染数据

    问题如题. 原因是我的order数组为空数组,应该将数组元素补充上.

  6. android 上传文件到服务器,FTP方式

    public class UploadFileUtils { private static boolean flag; /** * 需在在子线程下执行 * pathname 为:服务器存储地址 ,re ...

  7. python3.9不支持win7

    安装:Anaconda3-2022.10-Windows-x86_64.exe 会报错:Failed to create Anaconda menus 详细信息:Error loading Pytho ...

  8. P7213 [JOISC2020] 最古の遺跡 3

    这个题刚好是一个月前我们学校联赛组的人考的题的 T4 .今天有幸看见原题. 我当时顺便看了他们的题.想了一个小时,才想出来了如下的麻烦做法. 然后教练让我来讲这个题,我讲得很累,大家也都没有改. 题意 ...

  9. 9.增加Marker 标记

    1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset="U ...

  10. C++ MFC学习 (一)

    MFC:微软基础类库,以C++形式封装了WindowsAPI,并且包含一个应用程序框架,以减少应用程序开发人员的工作量.    其中包含的类包含大量Windows句柄封装类和很多Windows的内建控 ...