24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3648  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料调剂 +7 一样YWY 2026-04-05 8/400 2026-04-05 21:20 by 学员8dgXkO
[考研] 085602调剂 初试总分335 +8 19123253302 2026-04-05 8/400 2026-04-05 20:44 by 南航~万老师
[考研] 一志愿生物与医药,296分,求调剂 +9 66鹿 2026-04-03 10/500 2026-04-05 20:11 by lys0704
[考研] 307分材料专业求调剂 +7 Hll胡 2026-04-05 7/350 2026-04-05 18:47 by 无际的草原
[考研] 求调剂 +3 电气小神童 2026-04-04 3/150 2026-04-05 10:17 by barlinike
[考研] 283求调剂 +10 A child 2026-04-04 10/500 2026-04-05 08:22 by qlm5820
[考研] 320求调剂 +3 一样圆 2026-04-04 3/150 2026-04-04 22:29 by 啵啵啵0119
[考研] 292分,材料与化工,申请调剂 +22 程晴之 2026-04-01 26/1300 2026-04-04 22:03 by hemengdong
[考研] 338求调剂 +7 晟功? 2026-04-03 7/350 2026-04-04 20:37 by 蓝云思雨
[考研] 求生物学调剂 +14 15172915737 2026-04-01 14/700 2026-04-04 20:13 by babysonlkd
[考研] 本科985,专业0812分336求调剂 +4 莫莫很行 2026-04-03 4/200 2026-04-03 21:31 by zhq0425
[考研] 材料考研调剂 +10 Gs大王 2026-04-02 10/500 2026-04-03 09:47 by 遗忘消失的灆
[考研] 求调剂 +7 Aniyaio 2026-04-02 7/350 2026-04-02 16:42 by zzsw+
[考研] 314求调剂 +11 1xiaojun23 2026-03-31 12/600 2026-04-02 12:31 by 1xiaojun23
[考研] 266求调剂 +4 学员97LZgn 2026-04-02 4/200 2026-04-02 09:52 by yulian1987
[考研] 【求调剂】新能源材料本科,一志愿211,初试321 +6 求调剂学校, 2026-04-02 6/300 2026-04-02 09:41 by 晴空210210
[考研] 379求调剂 +3 ?苦瓜不苦 2026-04-01 3/150 2026-04-01 20:09 by 暮云清寒
[考研] 一志愿大连理工大学,机械工程学硕,341 +3 西瓜田的守望者 2026-03-30 3/150 2026-03-31 11:08 by asdfzly
[考研] 262求调剂 +7 ZZ..000 2026-03-30 8/400 2026-03-31 10:05 by cal0306
[考研] 083000环境科学与工程调剂,总分281 +4 橙子(胜意) 2026-03-30 4/200 2026-03-31 00:44 by Linzejun
信息提示
请填处理意见