assign variable name to Function Output Variables
Show older comments
Hi All
when using a Function it is possible to assign a variable name to the input
e.g
wave = Uph
[.........] = waveform(wave)
Is it possible to use the same variable in the output definition
[wave_rms]=waveform(wave)
so the output variable stored in the workspace is Uph_rms and not wave_rms?
Thanks
Adrian
Answers (1)
M
on 8 Nov 2019
0 votes
Why don't you just change [wave_rms]=waveform(wave) into [Uph_rms]=waveform(wave) ?
5 Comments
Guillaume
on 8 Nov 2019
And note that the brackets are not necessary
wave_rms = waveform(wave);
uph_rms = waveform(uph);
The variable to which you assign the output of a function to call does not have to match the name that is defined in the function signature. This is exactly how it works for built-in functions, it's no different for the function you write.
Guillaume
on 8 Nov 2019
Adrian's comment originally posted as an answer moved here:
I have 20 waveforms to process and i dont want to hard code each function
e.g
wave=Uph
[wave_rms]=waveform(wave)
then
wave = Vph
[wave_rms]=waveform(wave)
my function has 15 output definitions so would take a long time to hard code.
Guillaume
on 8 Nov 2019
These 20 waveforms are they 20 different variables? or are they more sensibly stored in a container of some sort (cell array, matrix, table,...)?
Adrian
on 8 Nov 2019
Guillaume
on 8 Nov 2019
They are 20 different variables
That's where you went wrong and what we have to fix. How were these 20 different variables created in the first place.
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!