function gcopt_Callback(hObject, eventdata, handles)
gen = str2num(get(handles.generator,'String'));
rate = str2num(get(handles.rating,'String'));
outage = str2num(get(handles.outage,'String'));
Data = cell(gen+1, 4);
Data(:,1) = num2cell((0:gen).');
for v = 1:gen+1
Data(v,2) = rate * Data(v,1);
end
f = figure('Position',[440 500 461 146]);
t = uitable(f);
t.ColumnName = {'User Input','Capacity Out','Capacity Available','Probability'};
t.Data = Data;
set(t,'ColumnWidth',{120});
t.Position(3) = t.Extent(3);
t.Position(4) = t.Extent(4);
I'm having this error when I'm trying to multiply the data in the for loop.

 채택된 답변

Jan
Jan 2017년 10월 17일
편집: Jan 2017년 10월 17일

0 개 추천

You cannot multiply cells, but only the contents:
for v = 1:gen+1
Data{v,2} = rate * Data{v,1}; % Curly braces
end
Or:
Data(:,2) = num2cell(rate * (0:gen).');

댓글 수: 2

Kim Lopez
Kim Lopez 2017년 10월 17일
Thank you so much. I'm new to MATLAB and really appreciate the help.
You are welcome. The handling of cell arrays is not easy at the beginning. Look in the documentation for the examples:
doc cell
docsearch cell

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

태그

질문:

2017년 10월 17일

댓글:

Jan
2017년 10월 17일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by