How to remove a row from the table?

18 ビュー (過去 30 日間)
Aswin Sandirakumaran
Aswin Sandirakumaran 2018 年 6 月 27 日
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 件のコメント
Image Analyst
Image Analyst 2018 年 6 月 27 日
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.

サインインしてコメントする。

採用された回答

Adam Danz
Adam Danz 2018 年 6 月 27 日
編集済み: Adam Danz 2018 年 6 月 27 日
To remove row 1 from the table 'Application' :
Application(1,:) = []
  3 件のコメント
Adam Danz
Adam Danz 2018 年 6 月 27 日
編集済み: Adam Danz 2018 年 6 月 27 日
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 2018 年 6 月 27 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTables についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by