24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1131  |  回复: 3

lijunjiexm

铁虫 (小有名气)

[求助] 求助一简单matlab程序的出错问题,谢谢

如下m文件,为什么在命令窗口运行 出现错误提示:
>> A=mesh2d2(10)
??? Index exceeds matrix dimensions.
Error in ==> mesh2d2 at 8
A = sparse (ii(keep), jj(keep), xx(keep));
>>
请大家指点,谢谢!

%%%%%%%%%%%%%%%%%%%%%%%
function A = mesh2d2 (n)
% create an n-by-n 2D mesh for the 2nd difference operator
nn = 1:n^2 ;
ii = [nn-n ; nn-1 ; nn ; nn+1 ; nn+n] ;
jj = repmat (nn, 5, 1) ;
xx = repmat ([-1 -14-1-1]',1, n^2) ;
keep = find (ii >= 1 & ii <= n^2 & jj >= 1 & jj <= n^2) ;
A = sparse (ii(keep), jj(keep), xx(keep));
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-11-26 23:43:22
??? Index exceeds matrix dimensions.
下标越界错误

在mesh2d2中的第八行之前,第七行之后的分号去掉
运行一次,把keep这个下标打印出来看,是不是没有find到,keep是0啊
导致在做稀疏矩阵A的时候ii(keep)访问矩阵的0号元素(不存在),因为matlab的矩阵下标从1开始的
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2011-11-26 17:53:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

peony1303

金虫 (初入文坛)

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-11-26 23:43:34
把最后一行“A = sparse (ii(keep), jj(keep), xx(keep)); ”转换成
A = sparse (ii(keep));
A = sparse (jj(keep));
A = sparse (xx(keep));
再试试看。sparse函数转化只能一个个来吧。

另外,你xx = repmat ([-1 -14-1-1]',1, n^2) ;是想生成2*100个元素的矩阵,不过按照你的程序应该生成5*100矩阵吧。猜测而已。[-1 -14-1-1]应为[-1 -1 4 -1 -1]吧??
Welcomeyou,welcomeme!!
3楼2011-11-26 23:11:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

peony1303

金虫 (初入文坛)

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-11-26 23:43:44
function A = mesh2d2 (n)
% create an n-by-n 2D mesh for the 2nd difference operator
nn = 1:n^2 ;
ii = [nn-n ; nn-1 ; nn ; nn+1 ; nn+n] ;
jj = repmat (nn, 5, 1) ;
xx = repmat ([-1 -14-1-1]',1, n^2) ;
[keep1,keep2]= find (ii >= 1 & ii <= n^2 & jj >= 1 & jj <= n^2) ;
keep=[keep1 keep2];
% A = sparse (ii(keep), jj(keep), xx(keep));
A1 = sparse (ii(keep));
A2 = sparse (jj(keep));
A3 = sparse (xx(keep));
Welcomeyou,welcomeme!!
4楼2011-11-26 23:20:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lijunjiexm 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿同济大学323分(080500)求调剂 +7 yikeniu 2026-04-01 7/350 2026-04-05 17:09 by 伟大河北
[考研] 一志愿南航,数一英一学硕317求调剂!! +5 Acaciad 2026-04-04 5/250 2026-04-05 12:31 by 搏击518
[考研] 0832食品科学与工程学硕282调剂 +6 鱼在水中游a 2026-04-02 9/450 2026-04-05 11:45 by flysky1234
[考研] 一志愿江南大学085501机械工程专硕326分,本科佳木斯大学 +5 顾若浮生 2026-04-03 9/450 2026-04-05 09:57 by 1753564080
[考研] 考研调剂 +11 小sun要好运 2026-04-04 11/550 2026-04-05 08:02 by qlm5820
[考研] 一志愿北京化工大学,初试成绩350求调剂 +9 沿岸?贝壳 2026-04-04 14/700 2026-04-05 01:09 by 沿岸?贝壳
[考研] 调剂 +4 是可乐不是可乐 2026-04-04 4/200 2026-04-04 19:41 by 唐沐儿
[考研] 085602 找调剂 +4 逆时针快乐 2026-04-02 4/200 2026-04-04 19:32 by 蓝云思雨
[考研] 求调剂 +6 朔朔话 2026-04-02 7/350 2026-04-04 19:16 by 蓝云思雨
[考研] [调剂信息]085408光电信息 求调剂 总分291分数一英一 +3 iz11az 2026-04-02 3/150 2026-04-04 19:09 by 蓝云思雨
[考研] 291求调剂 +4 迷蒙木木 2026-04-01 5/250 2026-04-04 15:59 by sihailian3
[考研] 求调剂机会 +5 意染ivy 2026-04-03 5/250 2026-04-03 15:13 by qoooooo614
[考研] 282求调剂 不挑专业 求收留 +7 Yam. 2026-03-30 8/400 2026-04-03 14:12 by zhangdingwa
[考研] 262求调剂 +6 励志一定发文章 2026-04-02 7/350 2026-04-03 09:54 by linyelide
[考研] 一志愿武汉理工0856,初试334 +3 26考研材料 2026-04-02 3/150 2026-04-02 21:22 by dongzh2009
[考研] 一志愿山东大学,085600,344 +7 魏子per 2026-04-02 8/400 2026-04-02 21:12 by 百灵童888
[考研] 293求调剂 +4 珂珂乐 2026-04-02 4/200 2026-04-02 20:10 by 6781022
[考研] 08开头看过来!!! +4 wwwwffffff 2026-03-31 6/300 2026-04-02 11:42 by 均值回归
[考研] 考研调剂 +12 Amber00 2026-03-31 12/600 2026-04-02 09:04 by sanrepian
[考研] 318求调剂 +10 陈晨79 2026-03-30 10/500 2026-03-31 17:37 by 544594351
信息提示
请填处理意见