声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1829|回复: 7

[编程技巧] 看不出错误,请高人有时间看一眼

[复制链接]
发表于 2006-8-29 23:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
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)) ) ;
回复
分享到:

使用道具 举报

 楼主| 发表于 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)) ) ;
发表于 2006-8-29 23:11 | 显示全部楼层
个人建议你将其中的除和乘都改为点除和点乘
 楼主| 发表于 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
 楼主| 发表于 2006-8-29 23:21 | 显示全部楼层

谢谢,我刚才调过了

发表于 2006-8-30 11:59 | 显示全部楼层
好象在用C编程
发表于 2006-8-30 19:49 | 显示全部楼层
这个错误的意思是数组下标必须为正整数,自己检查吧

晕啊,四阶循环,佩服

评分

1

查看全部评分

发表于 2006-8-30 20:34 | 显示全部楼层
matlab 和c不同 数组下标必须为正整数
另外 matalb最好不要用多重循环
这样速度很慢的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-28 19:33 , Processed in 0.066406 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表