2
데이터라는 행렬이 있습니다. 여기에는 3 개의 열, 회사 이름, 회사 값 & 회사 통화가 포함되어 있습니다.셀 배열의 값을 요약하기 위해 루핑하는 대신 익명의 함수 사용
Name Value Currency
ABC 10 USD
MNO 5 JPY
PLM 3 USD
NJK 7 EUR
가 나는 익명 함수를 사용하여 내가 루프를 사용하여이 작업을 수행 할 수 있지만이 가능 알고
Currency Value
EUR 7
JPY 5
USD 13
, 나의 대답은 다음과 같을 것이다 각 통화에 대한 총 가치 합계를 필요 그렇다면 어떻게?
업데이트 - 원래의 게시물과 같은 추가 정보는 아래 내 솔루션, 작동되는 정보
부족했다. 그러나 내가 본 사람들은 cellFun 또는 익명 함수를 사용하고 하락보다 효율적인 방법이처럼 (그리고 다른 방법을 좋아하는 것) cellfun
또는 arrayfun
보다 더 효율적이지 못하다 사용이 자연을
val = cell2mat(data(:, 2)); % double - value
sedols = data(:, [1 3]); % cell - name (1st column) and currency (2nd column)
ccy = unique(sedols(:, 2));
fx_exp = zeros(length(ccy(:, 1)), 1);
for n = 1 : length(ccy(:, 1))
index = strmatch(ccy(n, 1), sedols(:, 2));
fx_exp(n, 1) = sum(val(index));
end
귀하의 행렬은 셀 어레이 또는 테이블은 다음과 같습니다
데이터가
accumarray
와 함께unique
갈 방법입니다, 셀 배열에 저장되어있는 가정? 변수를 실행 가능한 방식으로 정의하십시오. – thewaywewalk루프로 해결하려는 시도를 적어주십시오. 그래서 우리는 당신이 무엇을하고 있는지 더 잘 알고 있습니다. [mcve] – Adriaan
과 '데이터'란 무엇입니까? – thewaywewalk