matlab文件读写、文字处理、命令行总结

本文详细介绍了 MATLAB 中的文件读写、正则表达式、字符串处理和调用命令行的方法,包括文件读写示例、正则表达式的各种匹配规则以及字符串处理函数的使用。此外,还探讨了如何通过 DOS 命令与 MATLAB 交互。内容实用,适合 MATLAB 初学者和开发者参考。
摘要由CSDN通过智能技术生成

table of content

1.文件读写

2.正则表达式

3.字符串处理

4.调用命令行


这篇纯当个人笔记,matlab函数大而全,就是有的时候想不起来搜不到就死翘翘。今天真是被字符串处理坑死了,以前还真是太轻视文件读写这个东西了,但混合编程的时候我这种菜鸟还真是只能用txt文件传数据,绷着哪里跌倒哪里爬起的原则,写篇日志,以此纪念一次坑爹之旅。多五个小时真的能编完啊!

再次感慨下matlab除了不能生儿子什么都会的伟大。正则表达式基本覆盖了perl常用的功能,吊命令行提供了无限可能,我的生命之光,我的欲念之火!

还有就是感觉写书的人就是不想让人家看明白他写的东西,故意搞些很复杂的千百年用不到的例子来忽悠,搜博客又搜出一大堆乱七八糟的,以后还是翻自己日志比较好。


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

1.文件读写

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%读文件

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

fidout = fopen('write.txt','w');

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

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

fprintf(fidout,'%s\n',tline([34:106]));

end

fclose(fidin);

fclose(fidout);

人人不能对齐,有点不爽将就看吧,知道这个就足够了。

以上实现了从'文字.txt'文件一行行读入,取了当中的34:106维,然后写到write.txt里面。

这个程序有很多变体,while里面可以加if判断,具体内容看情况。


读入的一般是字符串,用字符串处理可转成矩阵用。


%写矩阵

a = magic(6);
dlmwrite('a.txt',a,'delimiter','-');


效果如下,diliminater分隔符,空格也是可以的。\t,\n转义有效, 但\n没有意义

35-1-6-26-19-24
3-32-7-21-23-25
31-9-2-22-27-20
8-28-33-17-10-15
30-5-34-12-14-16
4-36-29-13-18-11

这个在字符串处理还会再说


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2.正则表达式

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

MATLAB 正则表达式(一)
正则表达式就是一个表达式(也是一串字符),它定义了某种字符串模式。利用正则表达式,可以对大段的文字进行复杂的查找、替换等。
matlab提供的正则表达式函数有三个:
regexp——用于对字符串进行查找;
regexpi——用于对字符串进行查找,但不区分大小写;
regexprep——用于对字符串进行查找并替换。
今天是第一部分——单个字符的匹配
我们先从简单的开始——以regexpi函数为例。假设你要搜索一个包含字符'cat'的字符串,搜索用的正则表达式就是'cat'。如果搜索对大小写不敏感,单词'catalog'、'Catherine'、'sophisticated'都可以匹配。也就是说:
正则表达式:'cat'
匹配:'cat', 'catalog', 'Catherine','sophisticated'
这个好像和我们通常在记事本里ctrl+F弄出来的东西差不多哈,呵呵。。。(btw:为了方便,下面的叙述中字符串和正则表达式的''都省略不写。)
1 句点符号 '.' ——匹配任意一个(只有一个)字符(包括空格)。
假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以't'字母开头,以'n'字母结束。另外,假设有一本英文字典,你可以用正则表达式搜索它的全部内容。要构造出这个正则表达式,你可以使用一个通配符——句点符号'.'。这样,完整的表达式就是't.n',它匹配'tan'、'ten'、'tin'和'ton',还匹配't#n'、'tpn'甚至't n',还有其他许多无意义的组合。这是因为句点符号匹配所有字符,包括空格:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值