2014-10-30 2 views
0

작성한 플롯에서 데이터를 추출하는 데 matlab를 사용하는 데 문제가 있습니다. 필자는 다중 선 그림이 있고 y (1), y (2), y (3) .............의 값을 원한다면 의심 스럽습니다. 우리는 모든 주어진 x에 대해 ny를 가질 것입니다. x의 0.1 증가마다 무엇을해야합니까 ???Matlab :: 생성 된 플롯에서 데이터 추출 (기존)

Excel에서 필요하지 않습니다. 전화 할 수있는 경우 "y (1) * k1 + y (2) * k2 + y (3) * k3"과 같은 조건에서 사용할 수 있습니다. + ......... " 여기 K1, K2, K3 ...... 사용자가 주어집니다 재 상수는 ........

나는이

시도
for x = x1:0.1:x2  
    h = findobj(gca,'Type','line'); ; 
    y = get(h,'Ydata'); 
    if (y{1}*xa +y{2}*xb+ y{3}*xc)==760; 
     fprintf('T= ,%0.2f/n',T); 
    end 
end 
+0

들이 동일한 X를 가지고 - 값 (일반적으로). 따라서'get (h, 'Ydata')'와'get (h, 'Xdata')'를 써야합니다. 코드 예제의 두 번째 부분은 매우 명확하지 않습니다. 'xa','xb' 및'xc'는 무엇입니까? 'T' 란 무엇입니까? – hitzg

+0

xa, xb 및 xc는 처음에 사용자가 지정합니다. 프로그램에 이미 해당 값이 있고 다른 하나는 0.1을 얻을 때마다 x를 어떻게 늘릴 수 있습니까? 왜냐하면 get (h, 'Xdata')을 사용하면 +0.1이 모든 반복에 대해 추가 될 것이라고 생각하지 않습니다. – Freak

+0

그리고 실제로 x가 있습니다. 실수 였어. – Freak

답변

0

여러 플롯에게 당신의 라인이있는 경우 :

h = findobj (gca, 'Type', 'line') 

가 MUL 돌아갑니다 tiple 라인 핸들. 어떤 루프를 반복해야합니까

편집에 x 루프가 추가되었습니다. 당신은 이전과 같이 X 루프를 유지할 수

는 (귀하의 코멘트 내 해석에서, X는 XDATA과 동일하지 않습니다?) 당신이 생각하지 수있는 여러 라인 플롯에 대한

for x = x1:0.1:x2 
    for iH = 1:length(h) 
    y = get (h(iH), 'YData') 
    % your code goes here, e.g. 

    end 
end 
+0

와트 abt x. whats는 모든 반복에 대한 평가입니까 ?? – Freak

관련 문제