How to make function assign variables that will stick around after the function is done running?
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Show older comments
For example:
function test(x)
car.color = x;
end
if i first input
global car
I want car.color to exist after i input test('red')
Accepted Answer
Star Strider
on 20 May 2015
Have it return the structure ‘car’ as an output:
function car = test(x)
car.color = x;
end
%
car = test('red')
produces:
car =
color: 'red'
8 Comments
but "car" doesn't exist anymore after the function has ran :( i want it to still be stored somewhere in the memory
i guess car = test('red') works ... i think <.<
edit: nope, running another function like
function car = test(x)
car.make = x;
end
%
car = test('mazda')
removed color and just leaves "make"
I need to be able to apply functions to the same structure to pile on attributes
Try this:
car = struct('make',[],'model',[],'color',[],'year',[]);
%
function y = test1(x)
car(1).color = x;
y = car;
end
%
function y = test2(x)
car(1).make = x;
y = car;
end
%
y = test1('red');
y = test2('Mazda');
%
car
produces:
car =
make: 'Mazda'
model: []
color: 'red'
year: []
errrr, no, still doesn't assign anything for some reason :<
make: []
model: []
color: []
year: []
It did for me. Did you copy-paste-run the code I posted? (I’m running R2015a, but it should run on all recent releases.)
Post the code you’re running if it’s different from what I posted.
Solarmew
on 20 May 2015

Run my code in a single script file. You may be inadvertently clearing the structure by running it in the Command Window.
Solarmew
on 20 May 2015
ah, i see, that worked! Thank you :]
My pleasure!
More Answers (0)
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)