[已解决] 想导入工作区的数据进行画图,但是出现索引超出数组边界的问题

[复制链接]
fiary 发表于 2022-4-2 10:28:28
  1. close all;

  2. figure(1);
  3. subplot(211);
  4. plot(out.tout,out.x(:,2),'r',out.tout,out.x(:,3),'b','linewidth',2);
  5. xlabel('time(s)');ylabel('position tracking');
  6. subplot(212);
  7. plot(out.tout,cos(t),'r',out.tout,out.x(:,3),'b','linewidth',2);
  8. xlabel('time(s)');ylabel('speed tracking');

  9. figure(2);
  10. plot(out.tout,out.f(:,1),'r',out.tout,out.f(:,3),'b','linewidth',2);
  11. xlabel('time(s)');ylabel('f approximation');
复制代码
出现的问题为:
错误使用 chap9_1plot (第 5 行)
位置 2 处的索引超出数组边界(不能超出 1)。



出现问题的代码为:
  1. plot(out.tout,out.x(:,2),'r',out.tout,out.x(:,3),'b','linewidth',2);
复制代码
所需的数据已上传,希望大佬能指出菜鸟新人的问题

matlab.mat

208.74 KB, 下载次数: 3

最佳答案


TouAkira 发表于 2022-4-2 11:26:18
因为你输出的结构体 out 中,x字段仍然不是一个矩阵,而是 Time Series Objects(时间序列对象)(超链接,自己点进去看),你需要进一步指出使用该序列中的哪个部分的数据。
out.x(:,2) % 错
out.x.Data(:,2) % 对

3 条回复


德玛西亚万岁 发表于 2022-4-2 11:14:49
同样想了解了解

TouAkira 发表于 2022-4-2 11:26:18
因为你输出的结构体 out 中,x字段仍然不是一个矩阵,而是 Time Series Objects(时间序列对象)(超链接,自己点进去看),你需要进一步指出使用该序列中的哪个部分的数据。
out.x(:,2) % 错
out.x.Data(:,2) % 对
回复此楼

fiary 发表于 2022-4-4 19:03:59
TouAkira 发表于 2022-4-2 11:26
因为你输出的结构体 out 中,x字段仍然不是一个矩阵,而是 Time Series Objects(时间序列对象)(超链接, ...

已经改正了,谢谢您的指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表