2014-12-05 1 views
0

나는 사용자로부터 2 점을주고 그 점들 사이의 스펙트로 그램을 보여 주려고하는데, 나는 다음 코드를 성공적으로 수행하지만, 나는 왜 내가 오류 아래에 있는지 모르겠다.캠 내 코드에서 스펙트로 그램을 수평으로 확대하는 방법은 무엇입니까?

또한 내가 알고 싶은, 내가 그렇게 할 수있는 방법을 초기 상태로 줄거리를 되돌릴 내 코드에서 리셋 버튼을 넣어하려면?

function From_Callback(hObject, eventdata, handles) 

handles.from=str2double(get(hObject, 'String')); 
guidata(hObject,handles); 


function From_CreateFcn(hObject, eventdata, handles) 

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) 
    set(hObject,'BackgroundColor','white'); 
end 



function To_Callback(hObject, eventdata, handles) 

handles.to=str2double(get(hObject, 'String')); 
guidata(hObject,handles); 



function To_CreateFcn(hObject, eventdata, handles) 

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) 
    set(hObject,'BackgroundColor','white'); 
end 


function Zoomb_Callback(hObject, eventdata, handles) 

minY=min(str2double(get(handles.Samplef, 'String')))*1000; 
maxY=max(str2double(get(handles.Samplef, 'String')))*1000; 
axes(handles.axes2); 
axis([handles.from, handles.to, minY, maxY ]); 

집합 사용 중 오류 잘못된 속성 값을 찾았습니다. 개체 이름 : 속성 이름을 축 'YLim' 값은 증가 및 비 NaN를해야합니다. 축> LocSetLimits (라인 208) 세트 (AX에

오류 ... 축 (94) LocSetLimits (AX (j) cur_arg)에

오류; M_player에

오류 > Zoomb_Callback (라인 202) 축 ([handles.from, handles.to, MINY, MAXY]);

gui_mainfcn (라인 96) feval (varargin {})에 오류;

에러 엠_ 플레이어 (42 행) gui_mainfcn (gui_State, varargin {:}); 여기에, 콜백 의견에 따라

+0

([...] y 축에 대한 제한은 ** 동일한 **입니다 MAXY에 MINY이다. 따라서 오류 메시지가. 어쩌면 당신이 중 하나를 가져 오는에 실수를 얻을 MINY 또는 MAXY? –

+0

내가 변화를 확장에만 x 축합니다. 감사와 y는 확장 년대에 생각 나게하지만, 돈은 t 내가 그렇게 할 수있는 방법을 알아! 내가 스펙트로 그램에서 Y 스케일을 얻기 위해 시도했지만하지 않았다했습니다 어떻게에 리셋 버튼을 코딩 할 수 있습니다, 당신은 내가 스펙트로 그램 주파수를 얻을 수있는 방법을 말하고 나는 또한? – user3305284

답변

0

확인 (hObject, EVENTDATA) M_player ('Zoomb_Callback', hObject, EVENTDATA, guidata (hObject))

오류 @ 에서

오류 어떻게되는 uicontrol 평가하는 동안 x 축의 눈금 만 변경하고 y 축의 동일한 범위를 유지할 수 있습니다. axes2에서 Y 축의 실제 한계를 얻기 위하여

은 다음을 사용할 수

ylimit = get(handles.axes2,'YLim') 

값은 축, 즉 화소 정규화 등과 같은 형식이다 .

이 당신에게 최소 및 최대 값을 포함하는 2 요소 벡터를 제공한다. 따라서, 당신은 당신의 코드에서 확인 axis에 대한 호출에, 당신은 y 축 상수의 범위를 유지하려면이 옵션을 사용할 수 있습니다

ylimit = get(handles.axes2,'YLim') 
axis([handles.from, handles.to, ylimit(1), ylimit(2)]); 

희망 당신은 무엇을 의미입니다! 그럼 축에 전화에

+0

덕분에 성공하지만, – user3305284

+0

를 벤와 많이 – user3305284

+0

을 원하는에 y 축 스케일을 변경할 수 있습니다. 그것은 매우 잘 작동합니다! :( – user3305284

관련 문제