MATLAB에서 MAX= 5의 값으로 편집 텍스트로 개인별로 여러 줄을 읽는 방법은 무엇입니까?
-
13-12-2019 - |
문제
내 GUI에 최대 값 5가 5로 여러 줄을 허용하는 텍스트 필드가 있으며 입력 값이있는 행렬을 표시하는 방법을 찾을 수 없습니다.
m=[m(1) m(2) m(3) m(4) m(5)];
set(handles.show,'string',m)
.
어떻게 계산 콜백에 값을 저장할 수 있습니다.이 시간을 실행하면, 오류가 발생합니다 ..
function masa_Callback(hObject, eventdata, handles)
% hObject handle to masa (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%h_edit is the handle to the edit box
m=str2double(get(hObject,'String'));
function calculate_Callback(hObject, eventdata, handles)
% hObject handle to agregarm (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
f = str2double(get(h_fuerza,'string')); %h_edit is the handle to the edit box
m = str2double(get(h_masa,'string')); %h_edit is the handle to the edit box
[row, column] = size(m);
for i = 1:row
eval(m{i,:}) %evaluate each line as in MATLAB command prompt
end
.
masa_callback, rigidez_callback 및 fuerza_callback 편집 텍스트 상자 편집 상자에서 사용자 입력을 읽으려고합니다 ... 그래서 해당 값을 n의 값에 따라 특정 작업을 수행하는 배열로 배열로 전달하고 싶습니다. 내가 얻는 오류는 예를 들어 n= 2의 경우, masa_callback 열과 fuerza_callback의 두 값을 추가하고, rigidez_callback에있는 3 개의 값을 추가하면 해당 값은 사례 n== 2와 내 프로그램에 전달됩니다. 예를 들어 매트릭스 M을 표시하려고합니다. M (1)과 m (2)의 공백에 입력되는 모든 값을 표시합니다 ... 나는 각 분리 된 각 가치 만 함께 가고 함께 가입하지 않으려 고 원한다! ... 나는 이것을 수정할 수 있습니까? 나는 그것이 배열과 루프와 whith이지만, 어떻게 숫자 (숫자로)를 수행하고 문자열로 표시하는 방정식에 배열 값을 어떻게 전달하는 방법을 모르고 있습니다.
해결책
일부 셀 배열에 데이터가 있고 텍스트 상자를 나타냅니다.
를 사용하십시오.someCellArray = {'a','b'};
m = strvcat(someCellArray{:});
set(handles.show,'string',m)
.
라인에서 문제가 발생합니다
handles.show
문자열을 두 배로 변환하고 싶지 않습니다.
strvcat
속성은 실제로 여러 줄 문자열을 반환하므로 다음과 같이 코드를 수정해야합니다.
m = get(h_masa,'String');
nRows = size(m,1);
for iRow = 1:nRows
eval(m(i,:));
end
.