MATLAB에서 MAX= 5의 값으로 편집 텍스트로 개인별로 여러 줄을 읽는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com//questions/9695129

문제

내 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
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top