MATLAB中如何拆分及修改字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB中如何拆分及修改字符串相关的知识,希望对你有一定的参考价值。

一个n*1的矩阵,形式如下:

40071201
40071202
依次类推。
①如何把上述矩阵拆分成2个n*1的矩阵
4007 1201
4007 1202
依次类推
②如何更改某几位数字
如将矩阵改为:
20071201
20071202
依次类推
急用,在线等,最好能附上程序语言,万分感谢!

用Matlab实现字符串分割(split):
正则表达式函数regexp的split模式。一般语法:
S = regexp(str, char, 'split')
其中str是待分割的字符串,char是作为分隔符的字符(可以使用正则表达式)。分割出的结果存在S中。
以下面这样一串字符为例
Hello Nocturne Studio首先去除首尾的多余空格:
str = deblank(str)

例1:设这几个字符串是以制表符分隔的,可以这样来做:
S = regexp(str, '\t', 'split')

例2:设这些字符串是以一个或多个空格分隔的,可以用正则表达式来描述:
S = regexp(str, '\s+', 'split')
这样,S(1)=’Hello’,S(2)=’Nocturne’,S(3)=’Studio’。

matlab字符串操作函数

eval(string) 作为一个MATLAB命令求字符串的值

eval(try,catch)blanks(n)返回一个n个零或空格的字符串

deblank去掉字符串中后拖的空格

feval求由字符串给定的函数值

findstr从一个字符串内找出字符串

isletter字母存在时返回真值

isspace空格字符存在时返回真值

isstr输入是一个字符串,返回真值

lasterr返回上一个所产生MATLAB错误的字符串

strcmp字符串相同,返回真值

strrep用一个字符串替换另一个字符串

strtok在一个字符串里找出第一个标记
参考技术A A = [40071201];
A = num2str(A);
A1 = A(1:4)
A2 = A(5:end)
A1(1,1) = '2'

A1 =

    4007

A2 =

    1201

A1 =

    2007

参考技术B 用PutFullMartix和GetFullMatrix完成这种任务。

matlab中如何保存数据到指定文件夹中?

假设:
数据矩阵为data
欲保存的文件名不是固定的,以字符串变量filename的内容为文件名,
保存路径为:E:\study\

请问在MATLAB中如何将按以上要求保存数据?

保存方法:

save(['E:\\Study\\', filename], 'data')

MATLAB save 函数用法及实例:

用法一:保存指定变量到当前工作目录

在尝试将A矩阵保存为MAT格式文件,文件名取为example,并且存储起来,方便下次使用。

在matlab主窗口中输入save  example A,回车,会看到左侧当前文件夹出现了相应的example,mat文件。

用法二:保存当前所有变量到当前工作目录

此时MATLAB中有A和b两个变量,试图将其全部保存起来。

在MATLAB主窗口中输入save example2  ,将其保存到example2.mat文件中。

用法三:保存指定变量到指定文件夹

试图将以上矩阵A保存到D:\\\\JINGYAN\\\\example.mat中。

在MATLAB主窗口中输入如下命令:save('D:\\\\csdn\\\\example.mat','A') 。

可以看到成功在csdn文件夹下生成了example.mat。

扩展资料:

一、在使用save函数时需要注意:

1、要保存的mat文件要写出后缀。

2、要保存的变量名要用单引号引起来。保存所有变量到指定文件夹不在赘述,用命令save('D:\\\\csdn\\\\example.mat') 便可。

二、SAVE命令动态批量保存mat文件:

已知矩阵A,先将A矩阵的每一列进行拆分,分别保存在‘1-points.mat’、‘、2-points.mat’、‘3-points.mat’中。

A=[

0.7329   -0.0000   19.2805;

-0.0000    0.7329   25.0947]

for i=1:3

chr=[num2str(i),'-points.mat']

b=A(:,i)

save(chr,'b')

end

参考资料来源:百度百科—save函数

参考资料来源:百度百科—mat文件

参考技术A 如果将矩阵写入到excel中,可以使用xlswrtie函数,然后指定你要保存的路径和矩阵即可。
如,你想将矩阵 mMatrix保存到D盘Data目录下,可以写成
xlswrite('D:/Data/filename', mMatrix);
当然'D:/Data/filename',你可以使用相对路径。

分享一个我自己写的一个函数,将矩阵写入到txt文件中的函数
function write_file( filename,source_matrix )
%TEST Summary of this function goes here
% write matrix to file
fid=fopen(filename,'a');
[x,y]=size(source_matrix);
for i=1:x
for j=1:y-1
fprintf(fid,'%s\x20',num2str(source_matrix(i,j)));
end
fprintf(fid,'%s\r\n',num2str(source_matrix(i,y)));%每一行回车\n
end
fclose(fid);
end
filename,就是的文件路径和文件名。
source_matrix ,就是你要输出的矩阵。
参考技术B 可能你会用到数字转字符串命令
int2str 转换整数成字符串
num2str转换数成字符串
如,循环结构中:

for i=1:10
A=int2str(i);
save(['E:\Study\', A,'.dat'], 'data')
end
参考技术C save(['E:\Study\', filename], 'data')本回答被提问者采纳

以上是关于MATLAB中如何拆分及修改字符串的主要内容,如果未能解决你的问题,请参考以下文章

Matlab中tabel如何按照日期列拆分

matlab创建一个字符串“Iamastudent”将字符串全变成大写字母,拆分截取出 字

Matlab字符串拆分当它是一个字符串对象

Matlab之如何截取字符串及获取位置

matlab如何批量更改文件名(删除每个文件名中的一段相同的字符串)

Python | 字符串拆分和拼接及常用操作