我有一个问题,在结构中指定特定的行并绘制它们。
我使用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')
然后指向仅引用数组中的第一个字符。
答案 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')
即。你想要一个比较操作而不是一个赋值操作。