替换txt文件中的变量值

时间:2016-07-21 07:51:47

标签: matlab

请您帮我解决一下我在下面写的Matlab文件。

我想替换46之后的0.600(在文件中,LEBT.txt,其中一些空格已分隔包含它的行)。我想将其更改为变量值(如x = 0.700),然后自动将x值更改为变量。

LEBT txt文件是:

34 1 'RMS.xls';               
33 1 'AVG.xls';
24 0.00000000001 0 0 0 0 5 0 0 1;
23 1;
7 0.110553 0 0.020591 0 0 0; 
3 0.0000000001 "drift Start";
13 1 1;
15 5 0 0 0 0 0;
23 30;

46 0.600 'MBD-fieldaaa.mf3' 0 0.7429877 "sf1";

34 1 'RMS.xls';               
33 1 'AVG.xls';
SENTINEL

我在matlab中写道:

clc
test=fopen('LEBT.txt', 'r'); M=fscanf(test,'%c'); fclose(test);
j = findstr('sf1', M);
M(j-38:j-34);

x=0.700

M(j-38:j-34)= 'x';
test=fopen('LEBT1.txt', 'w'); fprintf(test,'%s', M); fclose(test);

但是在输出文件LEBT1.txt中,它将是xxxx而不是0.700

如果我写

clc
test=fopen('LEBT.txt', 'r');
M=fscanf(test,'%c'); 
fclose(test);
j = findstr('sf1', M);
M(j-38:j-34);
M(j-38:j-34)= '0.700';
test=fopen('LEBT1.txt', 'w'); 
fprintf(test,'%s', M); 
fclose(test);

在输出文件(LEBT1.txt)中,0.700的替换是完美的

但是

我希望它是手动自动更改程序(生成x值)的x值并创建新的LEBT.txt文件,替换x的值。

非常感谢并期待收到您的回复

祝你好运, Masoomeh

0 个答案:

没有答案