matlab出错,Improper assignment with rectangular empty matrix.
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 12:59:11
matlab出错,Improper assignment with rectangular empty matrix.
代码如下,
function Y=evm(X)
n=length(X);
l=10;
k=n/l;
y1=ones(1,l);
y2=ones(1,l);
for i=1:l
y1(i)=log(abs(max(X(i*k-k+1:i+k))));
y2(i)=log(abs(min(X(i*k-k+1:i+k))));
end
ym1=mean(y1);
ym2=mean(y2);
s1=var(y1);
s2=var(y2);
a=pi/2/sqrt(6)*(1/s1+1/s2);
b=1-2/(1+exp(a*ym1-ym2));
Y=[a,b]; 提示错误是
? Improper assignment with rectangular empty matrix.
Error in ==> evm at 8
y1(i)=log(abs(max(X(i*k-k+1:i+k))));
大家看看是怎么回事.谢谢
代码如下,
function Y=evm(X)
n=length(X);
l=10;
k=n/l;
y1=ones(1,l);
y2=ones(1,l);
for i=1:l
y1(i)=log(abs(max(X(i*k-k+1:i+k))));
y2(i)=log(abs(min(X(i*k-k+1:i+k))));
end
ym1=mean(y1);
ym2=mean(y2);
s1=var(y1);
s2=var(y2);
a=pi/2/sqrt(6)*(1/s1+1/s2);
b=1-2/(1+exp(a*ym1-ym2));
Y=[a,b]; 提示错误是
? Improper assignment with rectangular empty matrix.
Error in ==> evm at 8
y1(i)=log(abs(max(X(i*k-k+1:i+k))));
大家看看是怎么回事.谢谢
y1(i)=log(abs(max(X(i*k-k+1:i+k))));
你这样写,肯定是会有问题的,
运行一段时间后,i*k-k+1会比i+k要大,就会出现上述的问题
看你的架势 每次是想取k个数中最大和最小的那个吧
改成如下即可:
for i=1:l
y1(i)=log(abs(max(X((i*k-k+1):(i*k)))));
y2(i)=log(abs(min(X((i*k-k+1):(i*k)))));
end
你这样写,肯定是会有问题的,
运行一段时间后,i*k-k+1会比i+k要大,就会出现上述的问题
看你的架势 每次是想取k个数中最大和最小的那个吧
改成如下即可:
for i=1:l
y1(i)=log(abs(max(X((i*k-k+1):(i*k)))));
y2(i)=log(abs(min(X((i*k-k+1):(i*k)))));
end
matlab出错,Improper assignment with rectangular empty matrix.
matlab出错 “Inner matrix dimensions must agree.”
matlab,Inner matrix dimensions must agree.哪里出错了
matlab 基础出错,求指导 Matrix must be square
matlab调用龙格库塔法出错In an assignment A(I) = B,the number of eleme
matlab 出错Error using ==> mrdivide Matrix dimensions must agr
matlab报错Z must be a matrix, not a scalar or vector,哪里出错了?
matlab出错Error using ==> times Matrix dimensions must agree.
matlab 如何求矩阵中NaN所在的位置 [m n]=find(a==NaN)命令后显示Empty matrix:为什
matlab Index exceeds matrix dimensions.
matlab为什么计算出错?
matlab 求和的出错