How to load variable from function workspace to Base workspace ?
이전 댓글 표시
Suppose I have a file called file123.m and inside this file I am calling one function load_func().
Now let's assume there is one variable call 'A' which is a bus object inside the function load_func(). so, Now i want to load the variable A into my base workspace of file file123.m
So, how can I do this ?
If anyone has any idea or the ways to do it, please help me.
Thank you so much.
댓글 수: 7
prasanth s
2022년 12월 15일
return the value as output of function.
Shiv Nileshkumar Matliwala
2022년 12월 19일
"If anyone has any idea or the ways to do it, please help me."
The MATLAB documentation explains how you can pass data between workspaces:
The simple, efficient, easy, neatest, robust, reliable, recommended approach is to use an output argument.
Shiv Nileshkumar Matliwala
2022년 12월 19일
Steven Lord
2022년 12월 19일
Can you dynamically create variables with numbered names like Bus_Object1, Bus_Object2, Bus_Object3, etc.? Yes.
Should you do this? The general consensus is no. That Answers post explains why this is generally discouraged and offers several alternative approaches.
"What if I have one bus object which is being made iteratively."
Then you use indexing, just like MATLAB is designed for.
"If my for loop is running for lets say 50 iterations, so 50 Bus Objects will be created and Its not appropriate to give 50 bus objects as an Output"
Why not? I store objects from loops all the time, most MATLAB users do. You can very simply use indexing to store objects in a cell array or probably an object array. How to use loops and indexing is the simple and efficient approach to this task. The basics of how to use loops and indexing is explained in the introductory tutorials:
Rather than your complex and inefficient approach, you should just use basic indexing. Indexing is a MATLAB superpower.
Shiv Nileshkumar Matliwala
2022년 12월 23일
답변 (1개)
I used to save some information like in this example
function SaveJob(~, filename, importJob)
save("path\dir\" + filename, "importJob");
end
loaded it like so
load("path\dir\filename");
and accessed the data like that:
importJob(1,3)
I called it like that
vars = [RadiusMin, RadiusMax, Crop, Sensitivity, Method, Rotation, Active, FontSize, ImagePath, TargetRadius, TargetTolerance, TCP];
SaveJob(app, jobname + "\\" + tmp_taskname, vars);
it kinda depends on your setup but maybe this helps a little bit
카테고리
도움말 센터 및 File Exchange에서 Whos에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!