在matlab中把一个文件夹里一个txt中的数据提出并且处理后,怎样按照原来的名字保存到另一个文件夹中?
比如程序是这样的,想把E:\work\matlab\all\这个文件夹中第一个txt中数据处理后得到的数据b保存到文件夹'E:\work\matlab\final\中,该...
比如程序是这样的,想把E:\work\matlab\all\这个文件夹中第一个txt中数据处理后得到的数据b保存到文件夹'E:\work\matlab\final\中,该怎么办 T_T
处理数据的方式就是每100个数据求RMS值
file=dir('E:\work\matlab\all\*.txt');
j=1;
A=importdata(['E:\work\matlab\all\','\',file(j).name],'\t');
name=file(j).name(1:end-4);
a=length(A);
a=floor(a/100)-1;
a=a*100+1;
b=[];
k=1;
for i=1:100:a
b(k)=0;
for j=0:1:99
b(k)=b(k)+A(i+j)*A(i+j);
end;
b(k)=sqrt(b(k)/10);
k=k+1;
end;
b=b'; %得到的b是一个列向量 展开
处理数据的方式就是每100个数据求RMS值
file=dir('E:\work\matlab\all\*.txt');
j=1;
A=importdata(['E:\work\matlab\all\','\',file(j).name],'\t');
name=file(j).name(1:end-4);
a=length(A);
a=floor(a/100)-1;
a=a*100+1;
b=[];
k=1;
for i=1:100:a
b(k)=0;
for j=0:1:99
b(k)=b(k)+A(i+j)*A(i+j);
end;
b(k)=sqrt(b(k)/10);
k=k+1;
end;
b=b'; %得到的b是一个列向量 展开
2个回答
展开全部
纯数据txt文件,直接load就可以了。
写了个简单的例子,先写了8个文件,每个文件中存取1000*3的随机数。
然后读取这8个文件,将每个文件中的第三列存到矩阵A中。
function batchWriteReadTxt
% 文件数
TxtFileNum = 8;
% 写数据文件
for i = 1 : TxtFileNum
% 构造文件名字符串
FileName = sprintf( '%s.txt', num2str( i ) );
% 以写方式创建文件
fid = fopen( FileName, 'w' );
% 如果创建文件成功
if fid > 0
% 生成随机数
A = rand( 1000, 3 ); % 1000行,3列
% 写数据
fprintf( fid, '%10.4f, %10.4f, %10.4f\r\n', A );
% 关闭文件
fclose( fid );
end
end
% 初始化数据,将每个文件中的第三列存为1列,1000行
A = zeros( 1000, TxtFileNum );
% 读文件
for i = 1 : TxtFileNum
% 构造文件名字符串
FileName = sprintf( '%s.txt', num2str( i ) );
% 纯数据文件,直接load就可以
data = load( FileName );
A( :, i ) = data( :, 3 );
end
写了个简单的例子,先写了8个文件,每个文件中存取1000*3的随机数。
然后读取这8个文件,将每个文件中的第三列存到矩阵A中。
function batchWriteReadTxt
% 文件数
TxtFileNum = 8;
% 写数据文件
for i = 1 : TxtFileNum
% 构造文件名字符串
FileName = sprintf( '%s.txt', num2str( i ) );
% 以写方式创建文件
fid = fopen( FileName, 'w' );
% 如果创建文件成功
if fid > 0
% 生成随机数
A = rand( 1000, 3 ); % 1000行,3列
% 写数据
fprintf( fid, '%10.4f, %10.4f, %10.4f\r\n', A );
% 关闭文件
fclose( fid );
end
end
% 初始化数据,将每个文件中的第三列存为1列,1000行
A = zeros( 1000, TxtFileNum );
% 读文件
for i = 1 : TxtFileNum
% 构造文件名字符串
FileName = sprintf( '%s.txt', num2str( i ) );
% 纯数据文件,直接load就可以
data = load( FileName );
A( :, i ) = data( :, 3 );
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询