Matlab Containers.Map의 deep copy 팁


Matlab Containers.Map의 deep copy 팁

matlab을 사용하다 버그 같은 것이 있어 우회하는 방법을 소개합니다. matlab에서 C#에서 dictionary 처럼 사용하는 Map을 지원합니다. Map datatype을 사용하는데, 여러 개의 object로 복사 해 사용하려고 했더니, 복사한 모든 data에서 값이 변하는 것을 확인했습니다. C 에서는 얕은 복사와 깊은 복사가 있는데 matlab의 Map은 얕은 복사만 되는 것 같습니다. 구글링해서 힌트를 얻어 우회 하는 방법을 찾았습니다. Mapdata = Containers.Map; Mapdata('test') = 1; Mapdata1 = Mapdata; Mapdata1('test') = 2; %Mapdata1의 'test'에 2값을 집어넣음 save('test.mat', 'Mapdata'); tmpdata = load('test.mat'); Mapdata2 = tmpdata.Mapdata; Mapdata2('test') = 3; %Mapdata2의 'test'에 3을 ...


#Containersmap #matlab #matlabcontainersmap #matlabdeepcopy #matlabdeepcopytrick #matlabtrick #매트랩맵데이터타입깊은복사팁 #매트랩팁

원문링크 : Matlab Containers.Map의 deep copy 팁