Can't get uitable inputs as matrix.

I'd like to have my code run with matrix entered by the users, but can seem to do well with it using uitable (for 2x2,3x3,4x4 and 5x5 matrixes) using this code.
B = [1,0,-1,-1,0;0,1,0,1,0;0,0,1,0,1;-4,2,0,-5,0;4,0,4,0,0];
b = [0;-2;2;0;10];
if det(B) == 0;
error('sistema sem solucao');
end
A= [B,b];
[m,n]=size(A);
for j=1:m-1
for z=j+1:m
if A(j,j)==0
t=A(j,:);
A(j,:)=A(z,:);
A(z,:)=t;
end
end
for i=j+1:m
a = (A(i,j)/A(j,j));
A(i,:)=A(i,:)-a*A(j,:);
end
end
x=zeros(m,1);
for s=m:-1:1
c=0;
for k=2:m
c=c+A(s,k)*x(k);
end
x(s)=(A(s,n)-c)/A(s,s);
end
x

Risposte (1)

If uitable1 is the handle/tag to your table, then to extract the data from it, that your users may have typed into it, retrieve the data property:
tableData = handles.uitable1.Data;

7 Commenti

where do I type this, under the pushbotton or under the Uitable callback? and can I have the same (tableData = handles.uitable1.Data;) with only different tags for the 2 uitables I have?
I'm sorry if it is too much to ask, do you somewhere where I can see this implemented step by step(or a similar situation) cause I've been struggling with this and it is due sunday.
You extract the data in the place that you need it for calculation.
You can do the same thing with different tags.
tableData1 = handles.uitable1.Data;
tableData2 = handles.uitable2.Data;
try
result = tableData1 \ tableData2;
handles.uitable3.Data = result;
catch
%the data in the tables was the wrong shape... or the left table was not invertable
....
end
Under the pushbotton I wrote :
function pushbutton1_Callback(hObject, eventdata, handles)
tableData1 = handles.uitableB.data;
tableData2 = handles.uitableb.data;
result = tableData1 \ tableData2;
handles.uitable3.Data = result;
and then continued with the code above.
Not sure exactly what your algorithm is doing but if you want an element-by-element divide, use dot forward slash instead of backslash
result = tableData1 ./ tableData2;
The tables have to be exactly the same size if you do that.
adriano Uaeca Jr
adriano Uaeca Jr il 14 Ott 2016
Modificato: adriano Uaeca Jr il 14 Ott 2016
It is solving a nxn matrix using gauss elimination method. So I need to have two, sized like this nxn = nx1 as input and one nx1 as output. The gentleman in the comment above suggest that I use a uitable for thme (both as output and input) but I am struggling with that.
Thank you for your help.
OK, but what are you struggling with? Just use GUIDE, place two tables onto the GUI, plus a button, and in the callback of the button, place the code I gave you to get the current data in the table. Then do something with the data. http://blogs.mathworks.com/videos/category/gui-or-guide/

Accedi per commentare.

Categorie

Scopri di più su Develop Apps Using App Designer in Centro assistenza e File Exchange

Richiesto:

il 13 Ott 2016

Commentato:

il 14 Ott 2016

Community Treasure Hunt

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

Start Hunting!

Translated by