24小时热门版块排行榜    

查看: 4173  |  回复: 9

snowwhite1

木虫 (小有名气)

[求助] 如何使用matlab求解非线性方程组的所有整数解?

例如:下面的方程组
x1^2=x1
x2^2=x2
x3^2=x3
x4^2=x4
x1^2=x1x2x3x4
使用fsolve需要预设初值,并且只能求出一个解,有没有什么较好的方法能求出所有解?(这里所有的解都只能取值0或1)。
回复此楼

» 猜你喜欢

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

奋斗
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sogooda

金虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-03-26 10:32:27
一共就4个数,每个数还都只能取0和1两种情况,那就穷举法就行了。
换句话说,编个4重循环,一下子就出来了。
2楼2012-03-25 21:26:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sogooda

金虫 (正式写手)

【答案】应助回帖

★ ★
臭水沟: 金币+2, 谢谢交流~~ 2012-03-26 10:32:42
CODE:
clc
format compact
for x1=0:1
    for x2=0:1
        for x3=0:1
            for x4=0:1
                if x1^2==x1 & ...
                   x2^2==x2 & ...
                   x3^2==x3 & ...
                   x4^2==x4 & ...
                   x1^2==x1*x2*x3*x4
                disp([x1,x2,x3,x4]);
                end
            end
        end
    end
end

可得结果
     0     0     0     0
     0     0     0     1
     0     0     1     0
     0     0     1     1
     0     1     0     0
     0     1     0     1
     0     1     1     0
     0     1     1     1
     1     1     1     1
3楼2012-03-25 21:32:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snowwhite1

木虫 (小有名气)

引用回帖:
2楼: Originally posted by sogooda at 2012-03-25 21:26:47:
一共就4个数,每个数还都只能取0和1两种情况,那就穷举法就行了。
换句话说,编个4重循环,一下子就出来了。

谢谢,我只是举例,实际情况是方程以及变量都很多,没办法穷举的。但方程的解就只有0或1两种情况,有没有什么较好的办法?
奋斗
4楼2012-03-26 00:14:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sogooda

金虫 (正式写手)

【答案】应助回帖


臭水沟: 金币+1, 谢谢交流~~ 2012-03-26 10:32:49
引用回帖:
4楼: Originally posted by snowwhite1 at 2012-03-26 00:14:08:
谢谢,我只是举例,实际情况是方程以及变量都很多,没办法穷举的。但方程的解就只有0或1两种情况,有没有什么较好的办法?

暂时还没有别的想法。
但是我还是固执的认为穷举法对于你的问题来说可能确实是一个很好的方法。
如果问题的规模很大,可以考虑一部分一部分的解决。
5楼2012-03-26 08:53:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snowwhite1

木虫 (小有名气)

没有其他办法了吗?
奋斗
6楼2012-03-27 23:13:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-04-16 23:24:30
1stOpt求解:
CODE:
MultiRun = 30;
BinParameter x(4);
Function
x1^2=x1;
x2^2=x2;
x3^2=x3;
x4^2=x4;
x1^2=x1*x2*x3*x4;

结果:
No.        x1        x2        x3        x4
1        0        1        1        1
2        0        0        0        1
3        0        1        0        0
4        0        0        1        1
5        0        0        1        0
6        0        1        0        1
7        1        1        1        1
8        0        0        0        0
9        0        1        1        0
7楼2013-04-16 09:24:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feign_te

金虫 (小有名气)

【答案】应助回帖

大概有多少个变量?
比如有n个变量,每个变量时0或者1,一个变量组就相当于一个2进制数字。
共有2^n组变量,要检验2^n次约束方程,1000万次时n=23,得考虑时间问题了。

n很大的话可能要分析约束方程,提取公因子,整体考虑
比如这题约束方程为x1*(1-x2*x3*x4)=0

如果约束方程很复杂的话,从约束方程的系数入手,说不定有一般解法。
约束方程只有一个时,有2^n项,借助线性代数,可能会发现什么。

不知道7楼解法的极限,如果能很随意的求出四五十个变量,二三十个约束方程下的解,那么几乎可以断定有一般解了。
8楼2013-12-01 22:18:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feign_te

金虫 (小有名气)

不过还是感觉求全部解不现实,解的数量接近2^(变量数-约束方程数)
9楼2013-12-01 22:25:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feign_te

金虫 (小有名气)

引用回帖:
8楼: Originally posted by feign_te at 2013-12-01 22:18:41
大概有多少个变量?
比如有n个变量,每个变量时0或者1,一个变量组就相当于一个2进制数字。
共有2^n组变量,要检验2^n次约束方程,1000万次时n=23,得考虑时间问题了。

n很大的话可能要分析约束方程,提取公因 ...

约束方程可以有无穷多个项,,
10楼2013-12-02 07:54:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 snowwhite1 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +33 医学老男孩 2026-08-13 79/3950 2026-08-17 14:00 by GZUZM
[博后之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 6GojgJvkDudM 2026-08-16 6/300 2026-08-17 13:58 by EYK67XJMj64E
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 6GojgJvkDudM 2026-08-16 4/200 2026-08-17 13:49 by EYK67XJMj64E
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 i7NFEVbjQMM5 2026-08-16 4/200 2026-08-17 12:10 by 4GBAYCdVQoK3
[考研] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 6GojgJvkDudM 2026-08-16 4/200 2026-08-17 11:46 by 4GBAYCdVQoK3
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 6GojgJvkDudM 2026-08-16 3/150 2026-08-17 09:49 by xLVPIRuSvCUe
[论文投稿] 岩土工程学报什么时候才能终审完呐 25+3 yeager111 2026-08-10 4/200 2026-08-16 20:42 by tfang
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
信息提示
请填处理意见