关于#算法#的问题:更奇怪的是这是嵌套在一个算法里面的目标函数脚本,如果是“索引超出数组边界”前面几代又是怎么跑下来的呢

img

提示位置 2 处的索引超出数组边界。
但是循环里面等号前后的i值都是相同的,又怎么会超出索引呢?
更奇怪的是这是嵌套在一个算法里面的目标函数脚本,在报错之前已经迭代好几代了,如果是“索引超出数组边界”前面几代又是怎么跑下来的呢?

打印一下呗,也许是前几次迭代的d、ds、s、dtw_b的尺寸与报错时这一次的不一样,报错这次的这几个变量size小呗

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7587790
  • 你也可以参考下这篇文章:数组扩容的两种最简单的方法---怎么给数组扩容、扩容代码代码的含义
  • 除此之外, 这篇博客: 线性代数的思考(2) 向量点积的几何意义统一化理解中的 这两种方法做的都是同一件事,就是将一个向量压缩到另一个向量张成的空间上,一种是整个空间以后者为变换矩阵变换后,此向量自然的落到此空间中,另一种是前者自己单个向量进行压缩,按比例地拉伸到这个空间中,它当然可以作用到原空间的其它向量,和前一种方法效果是一样的。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 他们都能够成功地描述被压缩向量基于变换向量的贡献度而被分配到被压缩空间中一个特定的值,且效果一致。(贡献的说法属于是ACM题述后遗症了,但是是一个不错的抽象,对于投影法,就是投影长度,对于向量的线性变换法,是被压缩向量的坐标本身(这个坐标会用来分别于压缩空间的那组基相乘而得到这个特定的值))

    从我的理解来看,投影后拉伸作为一个特定的计算方法就好,线性变换才是本质。

    最后稍微注意一下,投影是一种独立的线性变换,投影后拉伸才是我们这里研究的关乎向量的线性变换

    (正负说明压缩后与未被压缩的向量的方向关系,好理解)

  • 您还可以看一下 黄菊华老师的基于网页的个人音乐播放器系统 毕业设计毕设源码(含后台和源代码)课程中的 网页音乐播放器系统-源代码分析小节, 巩固相关知识点