assign variable name to Function Output Variables
이전 댓글 표시
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
답변 (1개)
M
2019년 11월 8일
0 개 추천
Why don't you just change [wave_rms]=waveform(wave) into [Uph_rms]=waveform(wave) ?
댓글 수: 5
Guillaume
2019년 11월 8일
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
2019년 11월 8일
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
2019년 11월 8일
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
2019년 11월 8일
Guillaume
2019년 11월 8일
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.
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!