How do you assign into a function space a variable that exists in the caller script?
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Patrick Anderson
am 17 Jan. 2018
Bearbeitet: Patrick Anderson
am 17 Jan. 2018
I have a an anonymous function that uses specific inputs. When I call the function from the caller script, I want to also pass a parameter vector into the function space. However, I can't seem to do this correctly.
I am trying this repeatedly using the "assigning" function, with various permutations of 'base' and 'caller," and can't seem to make it work.
4 Kommentare
Steven Lord
am 17 Jan. 2018
If you try Stephen's and Walter's advice and it still doesn't work, I recommend showing a small segment of code to illustrate concretely what you're trying to do. Your original problem description was very general, so the advice we could give also could only be general. The more detailed and specific the description of the problem we have, the more focused our suggestions can be.
Akzeptierte Antwort
Walter Roberson
am 17 Jan. 2018
Demonstration code:
function at
junk = 123;
freedo = 222;
foo = @(junk) fprintf('%d, %d\n', alter1()+junk, alter2()+junk)*0+freedo;
foo(junk)
function r = alter1
assignin('caller', 'junk', 987);
assignin('caller', 'freedo', 111);
r = 0;
function r = alter2
assignin('caller', 'junk', 456);
assignin('caller', 'freedo', 888);
r = 0;
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!