Я сделал Matlab GUI, у которого есть две полезные, первая таблица имеет список выбора в своих ячейках, а вторая таблица имеет числовой формат для своих ячеек.Выходы получаются из другого интерфейса (нажатием кнопки «Расчет»).Когда мы выбираем опцию в каждом списке выбора (каждый столбец) в первой таблице и нажимаем кнопку «Применить», выходы устанавливаются во второй таблице, но когда выбирается опция следующего списка выбора (следующий столбец), и нажимаем кнопку «Применить», предыдущаявыходы удалены.Другими словами, если я выберу «Вертикаль» в списке первого выбора (ячейка [1,1]) и нажму «Применить», то число, например «100», будет установлено в столбце «Вертикаль», но когда я выберу «Боковой» наВ следующем списке выбора число, например, «200», установленное в столбце «Lateral», а число «100» преобразуется в ноль.Мне нужно, чтобы предыдущие выходы (например, «100») оставались во второй таблице и не преобразовывались в ноль.% --- Выполняется при нажатии кнопки в Применить.
Fz1max = evalin('base','Fz1max'); Fy1max = evalin('base','Fy1max'); VerDisp = evalin('base','VerDisp'); BrakingFor = evalin('base','BrakingFor');
sourcedata = get(handles.uitable1, 'data'); newdata = get(handles.uitable2, 'data'); options = {'Vertical', 'Lateral', 'Twist','Braking'}; for i = 1:5 switch sourcedata{i,1} case options{1} newdata(i,:) = { Fz1max,0,0,0,0 }; case options{2} newdata(i,:) = { 0,Fy1max,0,0,0 }; case options{3} newdata(i,:) = { 0,0,VerDisp,0,0 }; case options{4} newdata(i,:) = { 0,0,0,BrakingFor,0 }; end switch sourcedata{i,2} case options{1} newdata(i,:) = { Fz1max,0,0,0,0 }; case options{2} newdata(i,:) = { 0,Fy1max,0,0,0 }; case options{3} newdata(i,:) = { 0,0,VerDisp,0,0 }; case options{4} newdata(i,:) = { 0,0,0,BrakingFor,0 }; end switch sourcedata{i,3} case options{1} newdata(i,:) = { Fz1max,0,0,0,0 }; case options{2} newdata(i,:) = { 0,Fy1max,0,0,0 }; case options{3} newdata(i,:) = { 0,0,VerDisp,0,0 }; case options{4} newdata(i,:) = { 0,0,0,BrakingFor,0 }; end end set(handles.uitable2, 'data',newdata);