MATLAB: Insert random binary into table

binaryuitable

I want to add binary numbers randomly to table and the binary size is obtained from edit text. and this is my code
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global p
n = str2double(get(handles.edit1, 'String'));
x = randi([0 1],n,1);
p.MyData = [p.MyData; {x}];
set(handles.uitable1, 'Data',p.MyData);
This script works when I type 1 in edit text, I can enter binary numbers one by one. when I type > 1, code error. Error message is :
Error using matlab.ui.control.Table/set
While setting the 'Data' property of 'Table':
Data within a cell array must have size [1 1]
Error in untitled3>pushbutton1_Callback (line 82)
set(handles.uitable1, 'Data',p.MyData);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in untitled3 (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)untitled3('pushbutton1_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback
I want to insert binary numbers according to the numbers I write in edit text. Please help me

Best Answer

p.MyData = [p.MyData; num2cell(x)];