matlab程序中如何实现对另一个m文件的修改?
是这样的,有一个主文件,运行中需要用到另一个函数m文件,但是现在希望能够把主文件运行的结果写入函数m文件的某一个位置中,替换原有的,这样新的函数m文件就可以得到新的计算结...
是这样的,有一个主文件,运行中需要用到另一个函数m文件,但是现在希望能够把主文件运行的结果写入函数m文件的某一个位置中,替换原有的,这样新的函数m文件就可以得到新的计算结果,如此往复。
总之就是,将一个计算得到的表达式写入另一个m文件的某一位置,在matlab中应当用什么命令来执行? 展开
总之就是,将一个计算得到的表达式写入另一个m文件的某一位置,在matlab中应当用什么命令来执行? 展开
3个回答
展开全部
恩。。如果一定要直接操作文件的话,建议是用一个变量保存表达式(或许是字符串),然后直接读取一个m文件全部内容,按行读入到一个cell数组后,将其中第一行替换为"变量名 = 表达式;"这种语句,然后将全部内容重新写回那个m文件。
如果觉得这样麻烦想用第三个文件做中转的话,建议用save命令保存到.mat文件更快一些。用load命令在另一个文件中读取。
如果觉得这样麻烦想用第三个文件做中转的话,建议用save命令保存到.mat文件更快一些。用load命令在另一个文件中读取。
追问
主要是我得到的不是纯数字,而是内容可能很长的表达式,甚至可能是方程,在mat中可以存储这样的元素吗?提取出来会不会改变变量性质啦?
追答
matlab永远可以处理文字组成的各种东西 别忘了我们的所有命令都是用文字输入的。
eval命令可以执行任何保存成字符串格式的合法的matlab命令。
不过对于方程,matlab的solve函数似乎可以接受字符串形式的方程做参数。
展开全部
function thefun(x) %将需要变的内容设置为那个函数的参数(类型是字符串)
...
eval(x) %在其被用到的位置用eval函数对字符串x求值
x='新表达式'; %在主函数中将新表达式以字符串的形式定义为一个变量
thefun(x) %在主函数中需要的地方将新内容调用即可
...
eval(x) %在其被用到的位置用eval函数对字符串x求值
x='新表达式'; %在主函数中将新表达式以字符串的形式定义为一个变量
thefun(x) %在主函数中需要的地方将新内容调用即可
追问
那个eval(x)是在主程序内的,还是在thefun函数内的压?
追答
在被调用的函数thefun内
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不知道直接怎么写,但是我觉得你可以用excel过渡下,先把结果输出到excel中,然后另一m文件在读取那个excel,不知道这样能不能实现你的目的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询