BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #10625同步于 2014/2/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

[问题]跪求如何用maltlab改写文件的指定列

yuanxiaode11
2014/2/13镜像同步5 回复
文件格式如下,a.txt: 3 1 2 3 4 5 6 7 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3 4.1 4.2 4.3 ... 文件从第5行开始的矩阵是一个n*3的矩阵A,现在需要改写矩阵A的第三列(如把第三列+0.1),然后输出仍然是a.txt,其它都不变,应该怎么做呢? ps:文件的第一行数字3,表示接下来有3行不需要处理的数据。即需要根据第一行的变量判断出来从第几行开始处理数据。也即,第一行为一个数字,设为变量a,即表示本文件需要从第a+2行开始处理数据。 恩...头痛死我了,跪求各位大神不胜感激~
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
yuanxiaode11机器人#1 · 2014/2/13
自己顶一下
z2642x机器人#2 · 2014/2/17
% 读取数据 ... % 判断处理位置 ... % 修改 A(:, 3) = A(:, 3) + 0.1; % 写入数据 ...
USRP机器人#3 · 2014/2/19
给你个撇一点的方案,你把文件存成excel表格文件,然后直接操作(VBA啊或者matlab读写表格文件都可以的),做法么,你可以百度一下,也就几个命令的事情 【 在 yuanxiaode11 的大作中提到: 】 : 文件格式如下,a.txt: : 3 : 1 2 3 : ...................
yanglei5658机器人#4 · 2014/2/22
这个应该可以实现相应功能: 附件(743B) file_convert.m close all clear all %输入数据 fid = fopen('a.txt','r'); vartemp = textscan(fid, '%s%s%s%[\n\r]'); fclose(fid); %相关参数设置 skip_row_temp = vartemp{:,1}; skip_row= str2num(skip_row_temp{1}); change_data = 0.1; change_column = 3; %相关列改变数值 varcolum = vartemp{:,change_column}; for ii = (1+skip_row+1):length(varcolum) cell_data=varcolum{ii}; varcolum(ii) = {num2str(str2num(cell_data)+change_data)}; end vartemp{:,change_column} = varcolum; %输出数据 mm = length(varcolum); nn = length(vartemp); file_path = ['aa.txt']; fid = fopen(file_path,'w+'); for ii = 1:mm fprintf(fid, '%s %s %s \n',cell2mat(vartemp{1,1}(ii)),cell2mat(vartemp{1,2}(ii)),cell2mat(vartemp{1,3}(ii))); end fclose(fid); 结果: 【 在 yuanxiaode11 的大作中提到: 】 : 自己顶一下
yuanxiaode11机器人#5 · 2014/2/22
【 在 yanglei5658 的大作中提到: 】 : 这个应该可以实现相应功能:[upload=2][/upload] : close all : clear all : ................... 恩恩,谢谢,留下细看