How can I call the variable from one MATLAB file into another?
70 次查看(过去 30 天)
显示 更早的评论
I have say ram.m file, in that file I have the two matrices 'A' and 'B'. In some other file say siddesh.m file, I have two matrices 'C' and 'D'. How can I call these varialbes i.e., A,B,C,D in another .m file.
1 个评论
dpb
2016-8-24
That's what argument lists and return values are for...read the documentation on functions...
回答(2 个)
SIDDESHA H
2016-8-24
1 个评论
dpb
2016-8-24
编辑:dpb
2016-8-24
Well, either the two files must already return their subject arrays when they're called or you have to rewrite them to do so; if they're functions the variables are local to the function and disappear when the function exits.
[A,B]=ram(whateverItsInputsAre,IfAny);
[C,D]=siddsh(SameStory);
NewResult=fncnThree(A,B,C,D);
Or, of course, you could have fncnThree actually call the two functions internally.
The above presumes the two existing m-files are functions, not scripts. If they are scripts then everything is global (ugh!) and the arrays are already in the workspace; just refer to them as above in the argument list to fncnThree, or if it were again a script, the variables are all directly accessible.
Again, there are many other ways including the use of nested functions, as noted before, read up on scope and lifetime and all the ways functions work and how they compare to scripts.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!