modify a row of an array within a function
22 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a 2 dimensional array arr and at various places i want to replace the ii-th row.
So I would like to write a function
function arr = replace(arr, ii)
and call that, e.g. in a loop but also with fixed ii.
My problem is that i fear that all of arr is copied then.
I just want a passed by reference and replace the row.
Is this feasable??
1 Kommentar
Stephen23
am 18 Mai 2021
"My problem is that i fear that all of arr is copied then."
Have you checked this?
Antworten (2)
KSSV
am 18 Mai 2021
If a is an array of size m*n, you can repalce i'th row with a row matrix b of size 1*n using:
a(i,:) = b ;
James Tursa
am 18 Mai 2021
Bearbeitet: James Tursa
am 18 Mai 2021
This can sometimes be done inplace depending on how you write the function and how you call the function. One requirement is your function needs to be called from within another function (easy to do). Another requirement is that your variable can't be shared with another variable (not easy to guarantee unfortunately). See this blog:
0 Kommentare
Siehe auch
Kategorien
Mehr zu Package MATLAB Functions 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!