24小时热门版块排行榜    

查看: 3587  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 211本,11408一志愿中科院277分,曾在中科院自动化所实习 +3 Losir 2026-03-12 4/200 2026-03-16 21:52 by Losir
[考研] 333求调剂 +3 文思客 2026-03-16 7/350 2026-03-16 18:21 by 文思客
[考研] 311求调剂 +5 26研0 2026-03-15 5/250 2026-03-16 16:21 by a不易
[考研] 0703化学调剂,求各位老师收留 +8 秋有木北 2026-03-14 8/400 2026-03-16 15:21 by 哦哦123
[考研] 0703化学调剂 290分有科研经历,论文在投 +7 腻腻gk 2026-03-14 7/350 2026-03-16 10:12 by houyaoxu
[考研] 22408总分284求调剂 +3 InAspic 2026-03-13 3/150 2026-03-15 11:10 by zhq0425
[考研] 289求调剂 +5 步川酷紫123 2026-03-11 5/250 2026-03-15 00:45 by kruisytel
[考研] 复试调剂 +3 呼呼?~+123456 2026-03-14 3/150 2026-03-14 16:53 by WTUChen
[考研] 材料与化工(0856)304求B区调剂 +7 邱gl 2026-03-10 11/550 2026-03-14 12:18 by 邱gl
[考研] 308 085701 四六级已过求调剂 +7 温乔乔乔乔 2026-03-12 14/700 2026-03-14 10:49 by JourneyLucky
[考研] 330求调剂 +3 ?酱给调剂跪了 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
[考研] 307求调剂 +7 超级伊昂大王 2026-03-10 7/350 2026-03-14 00:49 by JourneyLucky
[考研] 一志愿华中农业大学071010,总分三百二,求调剂 +3 困困困困坤坤 2026-03-10 3/150 2026-03-14 00:35 by JourneyLucky
[考研] 一志愿湖师大化学289求调剂 +6 XMCMM3.14159 2026-03-10 6/300 2026-03-14 00:28 by JourneyLucky
[考研] 0703,333分求调剂 一志愿郑州大学-物理化学 +3 李魔女斗篷 2026-03-11 3/150 2026-03-13 22:24 by JourneyLucky
[考研] 308求调剂 +5 是Lupa啊 2026-03-11 5/250 2026-03-13 22:13 by JourneyLucky
[考研] 290求调剂 +9 ADT 2026-03-11 9/450 2026-03-13 21:55 by JourneyLucky
[考研] 293求调剂 +3 世界首富 2026-03-11 3/150 2026-03-13 16:27 by JourneyLucky
[考研] 274求调剂0856材料化工 +12 z2839474511 2026-03-11 13/650 2026-03-13 10:39 by peike
[考研] 420求调剂 +4 莫向外求11 2026-03-10 6/300 2026-03-12 14:41 by ruiyingmiao
信息提示
请填处理意见