请您帮我解决一下我在下面写的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