[已解决] 通过matlab如何读取一维矩阵,生成多维相同列数的矩阵

[复制链接]
y永远的菜鸟 发表于 2021-4-8 23:13:21
本帖最后由 y永远的菜鸟 于 2021-4-9 11:29 编辑

我有一行有350个左右的ph值。我想通过matlab在这350个数值中从第一个开始读取7个数值作为新的数组的第一行,从第二个开始读取7个数值作为新的数组的第二行,从第三个开始读取7个数值作为新的数组的第三行,依次读完整行数据。最后获得343*7的矩阵:hug:谢谢。

ph.xls

26 KB, 下载次数: 0

最佳答案


TouAkira 发表于 2021-4-9 02:39:53
  1. maxN = 350;
  2. Steps = 7;
  3. Vector = [ 1 : 1 : maxN ]; % 自己代入你的数据向量
  4. Matrix = flipud( toeplitz( [ maxN : -1 : 1 ], [ maxN : -1 : 1 ] ) );
  5. Matrix = Matrix( [ 1 : 1 : maxN - Steps + 1 ], [ 1 : 1 : Steps ] );
  6. disp( Vector( Matrix ) ); % 目标矩阵
复制代码
回复此楼

7 条回复


TouAkira 发表于 2021-4-9 02:39:53
  1. maxN = 350;
  2. Steps = 7;
  3. Vector = [ 1 : 1 : maxN ]; % 自己代入你的数据向量
  4. Matrix = flipud( toeplitz( [ maxN : -1 : 1 ], [ maxN : -1 : 1 ] ) );
  5. Matrix = Matrix( [ 1 : 1 : maxN - Steps + 1 ], [ 1 : 1 : Steps ] );
  6. disp( Vector( Matrix ) ); % 目标矩阵
复制代码
回复此楼

y永远的菜鸟 发表于 2021-4-9 11:05:27
本帖最后由 y永远的菜鸟 于 2021-4-9 11:11 编辑
您好呀 代入数据后提示出错了
数组索引必须为正整数或逻辑值。

出错 bp3 (第 24 行)
disp( Vector( Matrix ) ); % 目标矩阵


TouAkira 发表于 2021-4-9 11:22:24
y永远的菜鸟 发表于 2021-4-8 23:05
您好呀 代入数据后提示出错了
数组索引必须为正整数或逻辑值。

我在论坛发代码,都是测试验证过才会发的

另外我仅发了6行代码,你这报错的在第24行,你如果不给出自己额外添加了哪些内容,别人如何知道到底是怎么回事?

y永远的菜鸟 发表于 2021-4-9 11:28:55
TouAkira 发表于 2021-4-9 11:22
我在论坛发代码,都是测试验证过才会发的

另外我仅发了6行代码,你这报错的在第24行,你如果不给出自己 ...

可能我数据向量代入错了

y永远的菜鸟 发表于 2021-4-9 11:31:22
TouAkira 发表于 2021-4-9 11:22
我在论坛发代码,都是测试验证过才会发的

另外我仅发了6行代码,你这报错的在第24行,你如果不给出自己 ...

我上传了一个附件,这里面是我的数据。烦请大佬帮忙一下咯,救救孩子吧。我会打赏的,以表敬意

y永远的菜鸟 发表于 2021-4-9 11:54:06
TouAkira 发表于 2021-4-9 11:22
我在论坛发代码,都是测试验证过才会发的

另外我仅发了6行代码,你这报错的在第24行,你如果不给出自己 ...

为什么报错在第24行,因为我有很多注释行。我可能是数据代入错了。希望大佬帮帮忙,谢谢
呜呜呜呜呜,大佬不理我了吗

y永远的菜鸟 发表于 2021-4-9 14:05:03
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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