24小时热门版块排行榜    

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

hui470

新虫 (小有名气)

[求助] MATLAB简单if语句 已有2人参与

已知24个向量  S,A1,A3……A23
for a=1:23
    for b=1:23
        for c=1:23
            for d=1:23
                B=[A{a},A{b},A{c},A{d}]
                if sum(B.*C)==0
                 &&sum(B.*C.*C)==0
                 &&sum(B.*C.*C.*C)==0
                 &&sum(B.*B.*C)==0
                 &&sum(B.*B.*C.*C)==0
                 &&sum(B.*B.*C.*C.*C)==0
                 &&sum(B.*B.*B.*C)==0
                 &&sum(B.*B.*B.*C.*C)==0
                 &&sum(B.*B.*B.*C.*C.*C)==0
                 K=[a,b,c,d]
                end
            end
        end
    end
我本意是想每循坏一次就判断sum(B.*C)==0
                 &&sum(B.*C.*C)==0
                 &&sum(B.*C.*C.*C)==0
                 &&sum(B.*B.*C)==0
                 &&sum(B.*B.*C.*C)==0
                 &&sum(B.*B.*C.*C.*C)==0
                 &&sum(B.*B.*B.*C)==0
                 &&sum(B.*B.*B.*C.*C)==0
                 &&sum(B.*B.*B.*C.*C.*C)==0
如果if为真就输出[a,b,c,d],并且继续for循坏,如果if为假则不输出,继续for循坏。一直到找出所有满足条件的矩阵。可是为什么这个程序输出的结果我自己都不知道是什么呢。。。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ndsql

新虫 (小有名气)

9楼2016-04-30 10:24:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

syddesk

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
hui470: 金币+5, 有帮助, 谢谢,我已经胡乱凑出来了。。谢谢回帖 2016-04-28 19:54:40
1.满足条件的矩阵编号可能有很多,但是你的K里面只能保存一组数,所以最后你只能得到不成立或者成立的一组数,而不是所有的数;
2.每个人写程序的方式不一样,而且变量保存的格式不一样,如果你的B=[A{a},A{b},A{c},A{d}] 中保存的确实是你想要的向量,而且程序运行没有保存的话,只能进行单步调试了,一步一步的看程序的输出是不是你想要的输出
2楼2016-04-26 16:39:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hui470

新虫 (小有名气)

引用回帖:
2楼: Originally posted by syddesk at 2016-04-26 16:39:27
1.满足条件的矩阵编号可能有很多,但是你的K里面只能保存一组数,所以最后你只能得到不成立或者成立的一组数,而不是所有的数;
2.每个人写程序的方式不一样,而且变量保存的格式不一样,如果你的B= 中保存的确实是 ...

我就是要找到所有的情况。。哥们,有空帮忙修改一下 或者写个程序吗?
3楼2016-04-26 16:42:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hui470

新虫 (小有名气)

麻烦各位大神帮我修改下程序。。。
4楼2016-04-26 16:52:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见