使用索引数据的Linkdata不起作用

2次查看(最近30天)
卡米拉·德·波拉
卡米拉·德·波拉 2021年8月22日
你好,
我从多个文件中绘制数据。文件的数量是由用户选择的,所以我不知道提前的数量。我试图绘制的变量是mxn维,其中m是文件的数量,n是每个文件中变量的大小(例如,每个文件的时间从1:20秒开始,如果用户上传3个文件,时间是3x20矩阵。所有变量(time、powerFor、powerRef、powerDel)都在工作区中定义并发送给函数,如下面的代码所示。如果用户选择上传超过1个文件,链接数据就不能工作,因为我猜它不能明确地识别数据源。是否有一个快速的解决方法,而不必改变文件上传的enitre逻辑,这样它就不使用矩阵来存储数据?
函数CodeSnippet (time, powerFor, powerRef, powerDel)
我= 1:numFiles
持有
plot(time(i,:), powerFor(i,:),“线宽”2);linkdata
plot(time(i,:), powerRef(i,:),“线宽”2);linkdata
plot(time(i,:), powerDel(i,:),“线宽”2);linkdata
结束
结束
谢谢

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年8月22日
这是 在文档中说明如下:(
的文档 //www.tianjin-qmedu.com/help/matlab/ref/matlab.graphics.internal.linkdata.html#mw_50ee8c7e-e6f5-49b2-a955-483ec60abd42 展示了链接复杂数据的示例,这意味着当您要求绘制一个表达式(比如powerFor(i,:))时,该表达式不会被记录在属性中——只有当要绘制的值是一个完整的变量时,才会自动记录。但是Complex的示例还表明,您可以提供'XDataSource'或'YDataSource'选项,将其作为引用字符串指定要执行的表达式以获取新数据。
是什么 这是我在XDataSource的plot()描述中发现的一点:
变量与 XData ,指定为包含MATLAB工作区变量名的字符向量或字符串。 MATLAB在基本工作空间中计算变量以生成 XData
这意味着 所有 变量之间的联系是失败的,即使只是简单的名称, 除了 通过基本工作空间。
我测试并证实了这一点:(
注意,在循环的情况下,即使您的数据在基本工作区中,您最终也必须做类似的事情
plot(time(i,:), powerDel(i,:),“线宽”2,“XDataSource”“时间(“+我+”:““YDataSource””powerDel(“+我+”:“
4评论
卡米拉·德·波拉
卡米拉·德·波拉 2021年8月23日
现在这个任务很好,所以我可能会坚持下去。我认为数据链接在我的例子中更容易一些,因为我所需要的只是根据用户输入对许多不同的图进行时间变换,但数据的其他部分不会改变,所以我认为没有必要重新绘制所有的图。再次感谢您的帮助,非常感谢!

登录评论。

更多的答案(0)

标签

s manbetx 845

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!