选择并绘制结构中的线条

时间:2014-02-19 13:01:09

标签: matlab data-structures

我有一个问题,在结构中指定特定的行并绘制它们。

我使用tblread从文件中获取数据:

  

table_data = tdfread(table,',');

该表包含数字和文本数据,看起来有点像这样:

协议,num_nodes,scale_physical,密度,跟踪,可靠性

ETX,50,4.7045454546,4.94,重,72.7

NH,50,3.8275862069,4.96,重,64.27

RTT,50,4.5454545455,5.12,重,50.44

ETX,50,3.8275862069,4.88,光,93.33

NH,50,4.7272727273,4.94,光,82.45

结果数据类型是名为scalar structure的{​​{1}}。我可以使用以下方法将每列相互绘制:

table_data

我想要实现的是在另一列中的值定义的列中绘制特定元素。例如。绘制规模与可靠性的关系,其中protocol =“nh”。

基本上我想达到这样的最终结果:

  

scatter(table_data.scale(table_data.protocol ='nh'),table_data.reliability(table_data.protocol ='nh'),'r')   坚持,稍等   散射(table_data.scale(table_data.protocol = 'RTT'),table_data.reliability(table_data.protocol = 'RTT'), 'b')的

区分情节中的两种类型。

有没有办法在上面提到的庄园中实现这一目标。 谢谢。

编辑: 解决方案如下:

scatter(table_data.scale, table_data.reliability)

在结构中文本保存为数组或字符而不是单元格。 scatter(table_data.scale(table_data.protocol=='n'),table_data.reliability(table_data.protocol=='n'), 'r') hold on scatter(table_data.scale(table_data.protocol=='e'),table_data.reliability(table_data.protocol=='e'), 'b') 然后指向仅引用数组中的第一个字符。

1 个答案:

答案 0 :(得分:0)

我认为你想要替换单身等于:

scatter(table_data.scale(table_data.protocol='nh'), table_data.reliability(table_data.protocol='nh'),'r') 

是一个双等于:

scatter(table_data.scale(table_data.protocol=='nh'), table_data.reliability(table_data.protocol=='nh'),'r') 

即。你想要一个比较操作而不是一个赋值操作。