How to remove a row from the table?

14 views (last 30 days)
Gv = graph({'s1' 's_1' 's2' 's_2' },{'s2' 's_2','s3' 's_3'});
figure(1)
hold on
Gv.Nodes.Availability = {'null','null','null','null','null','null'}';
Gv.Nodes.Memory = [8,6,7,8,6,7]';
%Gv.Nodes.Bandwidth = [3,2,3,2,3,2]';
title('Graph representing Services & VLs');
plot(Gv);
Application = table(Gv.Nodes); % table containing the info of apps
disp(Application);
hold off
Output: Gives me a table with Name, Availability and Memory
Var1
Name Availability Memory
_______________________________
's1' 'null' 8
's2' 'null' 6
's_1' 'null' 7
's_2' 'null' 8
's3' 'null' 6
's_3' 'null' 7
How to Remove a row from the table: say how to remove s1 from the existing table?
  1 Comment
Image Analyst
Image Analyst on 27 Jun 2018
This code produces a table of tables:
and each of the 6 tables has only one row.
I don't know how to answer you. Perhaps you want to reword your question, or your code.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 27 Jun 2018
Edited: Adam Danz on 27 Jun 2018
To remove row 1 from the table 'Application' :
Application(1,:) = []
  3 Comments
Adam Danz
Adam Danz on 27 Jun 2018
Edited: Adam Danz on 27 Jun 2018
First, I think you should read the comment from @Image Analyst because your table is actually a table of tables. I'm not sure what you want to do with s1 in your table.
If extracting it means isolating the s1 sub-table and storing it in another variable,
s1 = Application(1,1);
If you'd like to extract and store the 's1' from the sub-table,
s1 = Application{1,1}(1,1);
If you're trying to remove the entire s1 sub-table you can use the code I already shared above. If you're trying to remove the 's1' from the sub-table but keep the rest of that 'row' in the main table,
Application{1,1}(1,1) = table({''});
Note, you can only replace the 's1' with an empty string or {[]}. But more importantly, the table-of-tables isn't a good practice. Why do you need to assign Gv.Nodes to a new table in the first place? Why not just rename it?
Application = Gv.Nodes;
Now it's much simpler and cleaner to 'remove' (replace) 's1':
Application(1,1) = {''};
Aswin Sandirakumaran
Aswin Sandirakumaran on 27 Jun 2018
How to just print the Name of the row in the table??
Just to print say s_1 when s_1 is the first row in the table

Sign in to comment.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!