How to import data into function apart from the inputs?
Show older comments
Hello,
I am currently in the process of making a sensor model which has a lot of arameters involved in the model. I have currently written the code in scripts. I have a main script that calls other scripts whenever needed, and modifies the data as per the requirements. The variables are all in the workspace and can be modified as per need whenever needed.
Now, the problem is that according to the team's requirements, I am supposed to write the codes in a OOP style. This means that I have to move from scripts to functions. I am unable to figure out how to import a bunch of variables, say 10+ variables into the function apart from the input arguments, which I feel would make the functions too complicated to use.
Is there any other way to import data from mat files or similar?
Another concern is that I am working with a huge 30000 x 10 table. If I call this via a function, it will pe passed by value, which will make th code slow to run. Is there any way to pass the table by reference?
Thank you,
Neilabh
3 Comments
Mohammad Sami
on 4 May 2020
You can create either a handle class with properties for the data. Your functions can then access the data in the class. In handle classes any changes made to properties would change it every where.
You can also create a structure and pass that around, so you only need to pass one variable.
For your table, if you are not modifying the table, matlab will be able to detect it and not make a copy of that data.
Neilabh Banzal
on 4 May 2020
Mohammad Sami
on 5 May 2020
If you wish you can use it like a strucutre. you can make all the properties public.
Answers (0)
Categories
Find more on Workspace Variables and MAT Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!