cike5 发表于 2006-8-29 23:00

看不出错误,请高人有时间看一眼

Error in ==> D:\ZWX\ZWX\white\White.m
On line 50==>             c_3x(m, i, j) = 1/( (ntrs-p)*(Newb(m, k))*(Newb(m, k+i))*(Newb(m, k+j)) ) ;

cike5 发表于 2006-8-29 23:05

不全

??? Subscript indices must either be real positive integers or logicals.

Error in ==> D:\ZWX\ZWX\white\White.m
On line 50==>             c_3x(m, i, j) = 1/( (ntrs-p)*(Newb(m, k))*(Newb(m, k+i))*(Newb(m, k+j)) ) ;

sunning 发表于 2006-8-29 23:11

个人建议你将其中的除和乘都改为点除和点乘

cike5 发表于 2006-8-29 23:19

谢谢

下面是我写的一段程序,刚用两次matlab,净错误
Newb是一个nsmp*ntrs的矩阵
c_3x = zeros(nsmp, p, p);

for m = 1:nsmp
    for i = 1:p
      for j =1:p
            for k = 1:(ntrs-p)
            c_3x(m, i, j) = 1/( (ntrs-p)*(Newb(m, k))*(Newb(m, k+i))*(Newb(m, k+j)) ) ;
            end
      end   
    end
end

cike5 发表于 2006-8-29 23:21

谢谢,我刚才调过了

mhl516 发表于 2006-8-30 11:59

好象在用C编程

happy 发表于 2006-8-30 19:49

这个错误的意思是数组下标必须为正整数,自己检查吧

晕啊,四阶循环,佩服

jimin 发表于 2006-8-30 20:34

matlab 和c不同 数组下标必须为正整数
另外 matalb最好不要用多重循环
这样速度很慢的
页: [1]
查看完整版本: 看不出错误,请高人有时间看一眼