请问:在matlab中导出数据,如导出至txt文件中,能不能指定列数换行?
展开全部
你是想把一列变成一行么?
求转置就行了,比如你的数据矩阵为A,则A'为其转置。
dlmwrite('data.txt',A)%将文件导出
求转置就行了,比如你的数据矩阵为A,则A'为其转置。
dlmwrite('data.txt',A)%将文件导出
追问
从matlab仿真得到的数据,假设是按照一行导出的。我在用dlmwrite函数时,想规定导出每一行有n个数据,每当一行有n个数据后,就换行。有没有什么方法?
追答
dlmwrite('data.txt',A,'newline','PC');
这样就会把A以矩阵的形式输出在TXT文件中。你如果希望有n行输出可以用reshape这个函数
B=reshape(A,M,N);就是把A矩阵变成M行N列的矩阵。不过这里有两个问题没有解决,首先txt文本每一行有一定的长度,超过这个长度就会自动换行,你可以把txt文本框中的格式下的自动换行对勾点掉。第二个问题你的矩阵行和列的乘积必须为M*N,也就是你的矩阵行列乘积需为你要输出列数的整数倍。这个问题倒是可以通过编程解决就是有点麻烦。不知道你的原矩阵和N为多少,或许有更好的办法,希望有高手指点。。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能把文件给我看看吗
clear;
fid=fopen('a.txt','r');
S=fscanf(fid,'%s');
fclose(fid);
a=reshape(S,length(S)/197,197)';
a=a(:,9:length(a));
b=[];
for i=1:length(a)/4
b=[b hex2dec(a(:,i:i+3))];
end
clear;
fid=fopen('a.txt','r');
S=fscanf(fid,'%s');
fclose(fid);
a=reshape(S,length(S)/197,197)';
a=a(:,9:length(a));
b=[];
for i=1:length(a)/4
b=[b hex2dec(a(:,i:i+3))];
end
追问
从matlab仿真得到的数据,假设是按照一行导出的。我在用dlmwrite函数时,想规定导出每一行有n个数据,每当一行有n个数据后,就换行。有没有什么方法?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
help里面的demo有详细视频
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询