24小时热门版块排行榜    

查看: 1613  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ysu_Amanda

金虫 (著名写手)

[求助] 实在是看不出这段matlab程序里哪里出错了,请大家帮忙看看!

for L=1:c
    for i=1:Tn(L)     
        if L==1
            sum_index=i;
        else
            sum_index=sum(Tn(1:L-1))+i;
        end
        y=D(:,sum_index);
        if sum_index==1
            re_index=2:n;
        elseif sum_index==n
            re_index=1:n-1;
        else
            re_index=[1:sum_index-1,sum_index+1:n];
         end
end
end
如上第一次循环中sum_index应该为1,re_index应该为2:n.但一运行就出错显示re_index根本没被赋值,是空的。这是怎么回事,我看了好多遍程序实在看不出哪里有错误,希望大家多帮忙啊!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

要勇敢,要自信!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
ysu_Amanda: 金币+1, ok,试试 2013-05-12 18:24:19
jjdg: 金币+1, 辛苦了 2013-05-13 01:37:59
if有else块,re_index肯定会被赋值,也就是下面这行肯定会被运行到
            re_index=[1:sum_index-1,sum_index+1:n];
但是你说没有值,在这行前面加2句:
sum_index
n
然后运行看看输出什么值.
因为虽然在matlab中a:b是生成a到b的序列,但是如果b<a,就会生成空矩阵.
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2013-05-12 17:50:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

teshuvah

新虫 (初入文坛)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
ysu_Amanda: 金币+1 2013-05-12 18:24:30
jjdg: 金币+1, 感谢参与 2013-05-13 01:37:48
你设个断点一步一步跟进去看看
2楼2013-05-12 16:38:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ysu_Amanda

金虫 (著名写手)

引用回帖:
2楼: Originally posted by teshuvah at 2013-05-12 16:38:12
你设个断点一步一步跟进去看看

我这个是函数里的一小段,设置了显示sum_index的值是没问题的,就是re_index不知道为什么会赋不上值,感觉程序挺简单不应该啊
要勇敢,要自信!
3楼2013-05-12 16:51:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ausir

木虫 (正式写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+2, 辛苦了 2013-05-13 01:38:11
ysu_Amanda: 金币+1, 有帮助, 谢谢!我发现我的D有问题! 2013-05-13 08:12:39
从Debug 单步跟踪的结果来看,第一次运行的结果是对的。
re_index的值是[2:n]。
示例如下: 不知道D的用途,将其屏蔽,本函数简化成一个加法函数。

function [sum_index, re_index]=t1(Tn,c)
% This is a test function
n=length(Tn);
if c>=n
    c=n;
end
for L=1:c
     for i=1:Tn(L)     
         if L==1
             sum_index=i;
         else
             sum_index=sum(Tn(1:L-1))+i;
         end
        % y=D(:,sum_index);
         if sum_index==1
             re_index=2:n;
         elseif sum_index==n
             re_index=1:n-1;
         else
             re_index=[1:sum_index-1,sum_index+1:n];
          end
end
end
end
使用 x=[5,10,15,20,25,30] c=6, 计算[ssx,sssc]=t1(x,c),取得的结果是 105, 以及 1-104的输出。
单步跟踪正常。
5楼2013-05-12 21:37:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 265求调剂 +4 梁梁校校 2026-03-19 4/200 2026-03-20 00:03 by 23Postgrad
[考研] 0703化学调剂 +10 妮妮ninicgb 2026-03-15 14/700 2026-03-19 22:59 by 学员8dgXkO
[考研] 梁成伟老师课题组欢迎你的加入 +9 一鸭鸭哟 2026-03-14 11/550 2026-03-19 17:22 by !本暗一次!
[考研] 0703化学调剂 +5 pupcoco 2026-03-17 8/400 2026-03-19 13:58 by houyaoxu
[考研] 一志愿985,本科211,0817化学工程与技术319求调剂 +10 Liwangman 2026-03-15 10/500 2026-03-19 10:25 by 无际的草原
[考研] 085600材料与化工 +5 安全上岸! 2026-03-16 5/250 2026-03-18 15:33 by cmz0325
[考研] 一志愿西南交大,求调剂 +4 材化逐梦人 2026-03-18 4/200 2026-03-18 14:22 by 007_lilei
[考研] 302求调剂 +10 呼呼呼。。。。 2026-03-17 10/500 2026-03-18 12:45 by Linda Hu
[考研] 303求调剂 +4 睿08 2026-03-17 6/300 2026-03-18 11:01 by Iveryant
[考研] 工科材料085601 279求调剂 +6 困于星晨 2026-03-17 6/300 2026-03-18 10:21 by kkcoco25
[考研] 268求调剂 +6 简单点0 2026-03-17 6/300 2026-03-18 09:04 by 无际的草原
[考研] 301求调剂 +9 yy要上岸呀 2026-03-17 9/450 2026-03-18 08:58 by 无际的草原
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
[考研] 301求调剂 +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
[考研] 一志愿南京大学,080500材料科学与工程,调剂 +4 Jy? 2026-03-16 4/200 2026-03-17 11:02 by gaoqiong
[考研] 275求调剂 +4 太阳花天天开心 2026-03-16 4/200 2026-03-17 10:53 by 功夫疯狂
[考研] 321求调剂 +5 大米饭! 2026-03-15 5/250 2026-03-16 16:33 by houyaoxu
[考研] 0856专硕279求调剂 +5 加油加油!? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
[考研] 297一志愿上交085600求调剂 +5 指尖八千里 2026-03-14 5/250 2026-03-14 17:26 by a不易
[考研] 招收0805(材料)调剂 +3 18595523086 2026-03-13 3/150 2026-03-14 00:33 by 123%、
信息提示
请填处理意见