본문 바로가기
취미/Matlab

MATLAB FOR문 문자열 사용하여 저장 EVAL

by Zoos 2020. 5. 2.
반응형

Matlab에서 for 문 사용하면서 반복문의 index를 문자열로 사용하여 저장하고 싶을 때,

eval을 사용

예시)

임의의 행렬 a라는 10x4 열 값을 반복문 for를 사용해

h1

h2

h3

h4

에 각각 저장 해야 할 때, 

for i=1:열크기

   hi=a(:,i)

end

이렇게 간단히 하면 좋겠지만 당연히 안된다... 이럴 땐 eval 함수를 사용한다. 

clc;clear all;
a=randi(10,10,4); % 임시 10x4행렬 
b=size(a,2);

%h1,2,3.. 에 a의 열 for 문 i 순서대로 대입
for i=1:b
    eval(['h_',num2str(i),'=a(:,',num2str(i),')']);
end

 

반응형

'취미 > Matlab' 카테고리의 다른 글

MATLAB에서 (연습할 때 연습용) 임의의 행렬 만들기  (0) 2020.05.02