为什么我会收到错误“索引超出矩阵维度”?

时间:2017-12-13 22:18:46

标签: matlab matrix dimensions matrix-indexing

我目前是MATLAB的新手。我的代码如下。我只是有一个问题,为什么我不断收到所提供函数的错误“索引超出矩阵维度”:

class BinaryFileTests: XCTestCase {

    func testBinaryResponse() {
         // read data from the binary.data file

    }
}

2 个答案:

答案 0 :(得分:4)

不要给变量赋予与现有函数相同的名称。这shadows the function。然后,当您尝试使用参数调用函数时,您最终使用参数结束indexing变量,在这种情况下尝试索引变量中不存在的元素,从而导致错误。

使用clear删除现有变量,然后使用新变量名重新运行计算:

clear mean std max min range;
meanResult = mean(a);
stdResult = std(a);
...

答案 1 :(得分:0)

使用clc(清除命令窗口),清除(从工作区中删除所有变量)并关闭所有(关闭任何以前使用的数字)以清理工作空间。这可以帮助更好地运行脚本。

clc, clear, close all

a = [105 97 245 163 207 134 218 199 160 196 221 154 228 131 180 178 157 151,...,
     175 201 183 153 174 154 190 76 101 142 149 200 186 174 199 115 193 167,...,
     171 163 87 176 121 120 181 160 194 184 165 145 160 150 181 168 158 208,...,
     133 135 172 171 237 170 180 167 176 158 156 229 158 148 150 118 143 141,...,
     110 133 123 146 169 158 135 149];

Mean = mean(a)
Std = std(a)
Max = max(a)
Min = min(a)
Range = range(a)