Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 为什么我会犯错误;索引超出了矩阵维度;?_Matlab_Matrix_Dimensions_Matrix Indexing - Fatal编程技术网

Matlab 为什么我会犯错误;索引超出了矩阵维度;?

Matlab 为什么我会犯错误;索引超出了矩阵维度;?,matlab,matrix,dimensions,matrix-indexing,Matlab,Matrix,Dimensions,Matrix Indexing,我目前是MATLAB新手。我的代码如下。我只是有一个问题,关于我为什么一直得到提供的函数的错误“索引超过矩阵维数”: 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

我目前是MATLAB新手。我的代码如下。我只是有一个问题,关于我为什么一直得到提供的函数的错误“索引超过矩阵维数”:

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)

不要给变量指定与现有函数相同的名称。这然后,当您尝试使用参数调用函数时,您会使用参数结束变量,在本例中,参数会尝试索引变量中不存在的元素,从而导致错误

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

clear mean std max min range;
meanResult = mean(a);
stdResult = std(a);
...
使用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)

谢谢你的帮助!有一个问题是,如果我不使用“清除”而只是更改了函数的名称,会发生什么情况?@Kenny:这些是内置的MATLAB函数。你不能改变它们。