如何编写编辑另一个 MATLAB 文件 (.m) 的 MATLAB 代码?

How do I write a MATLAB code that edits another MATLAB file (.m)?

我有两个文件,Editor.m 和 Parameters.m。我想在 Editor.m 中编写代码,当 运行 执行以下任务时:

因此,在此过程结束时,Parameters.m 将包含行 dt=0.6 而不是 dt=1,我没有直接编辑它。

有办法吗?如果是,怎么做?

可以用regexprep替换感兴趣的值

% Read the file contents
fid = fopen('Parameters.m', 'r');
contents = fread(fid, '*char').';
fclose(fid);

% Replace the necessary values
contents = regexprep(contents, '(?<=dt=)\d*\.?\d+', '0.6');

% Save the new string back to the file
fid = fopen('Parameters.m', 'w');
fwrite(fid, contents)
fclose(fid)

如果你能保证它只会出现 'dt=1',那么你可以使用 strrep 代替

contents = strrep(contents, 'dt=1', 'dt=0.6');