MATLAB 질문을 속성 및 값의 긴 목록을 설정합니다.방법 MATLAB에서
속성 = { 'property01', 'property02', 'property03', ...., 'property50'};
및 각 속성에 대한 해당 값.
값 = [val01, val02, val03, ...., val50];
이제 특정 조건에 따라 다양한 속성의 입력을 입력으로 사용하는 기능이 있습니다. 함수를 올바르게 사용하는 주요 제한 사항 중 하나는 입력으로 입력 된 모든 필수 속성을 사용하여 한 번만 호출하는 것입니다. (따라서 for 루프에서 함수를 호출 할 수 없으며 매번 다른 속성 설정을 반복합니다.)
예 : 어떤 조건 세력 날 4 개 속성을 사용하는 경우, 올바른 사용법은 다음과 같습니다
출력 = 된 SomeFuncion (데이터, 'property01', val01, 'property02', val02, 'property03', val03, 'property04' val04);
한 번만 호출되는 함수에 가변 개수의 속성을 제공하려면 어떻게해야합니까?
Mayur Narsude는
감사 @nhowe을위한 속임수. 내 경우 pv는 첫 번째 행에 char 문자열을 포함하고 두 번째 행에는 전달하려는 매우 큰 행렬을 포함하는 셀이 있습니다. 간단히 말해서 : properties = string and value = cell 그래서 제안한대로이 함수를 전달하면 전달하기 전에 cell2mat가 변환되지 않고 함수 호출이 값으로 간주되기 때문에 난센스가 발생합니다. 함수에 전달한 후에 수정할 수있는 함수에 액세스 할 수 없습니다. 더 이상의 아이디어? 환호, Mayur –
당신의 의견을 이해하지 못하십니까? 당신은 논쟁의 유형의 구체적인 예를 들어 줄 수 있습니까? – nhowe
> pv = [속성; 값]; > 속성 = [ 'prop1', 'prop2', 'prop3', ..., 'propN']; > 값 = [val1, val2, val3, ..., valN]; > whos val1 > 셀 double 기본적으로 val1 개까지의 valN은 각각 1x2000 값의 행렬을 포함하는 셀입니다.즉, > output = someFunction (data, pv {:}); 오류가 발생합니다. 모든 속성은 올바른 문자열 인 문자열로 전달됩니다. 그러나 모든 값은 함수로서 값에 대한 행렬을 기대하는 셀로 전달됩니다. 그래서 함수에 전달하기 전에 셀의 값을 변환하는 메커니즘이 필요합니다. 분명히 pv에 cell2mat를 사용하는 것은 해결책이 아닙니다. –