24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3654  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 285求调剂 +3 AZMK 2026-04-05 5/250 2026-04-06 11:22 by 蓝云思雨
[考研] 材料与化工专硕306分找合适调剂 +6 沧海轻舟e 2026-04-06 6/300 2026-04-06 10:02 by lqwchd
[考研] 材料调剂 +14 壹贰贰亿 2026-04-04 14/700 2026-04-05 23:31 by 来看流星雨10
[考研] 求调剂 +11 熊二想上岸 2026-04-04 11/550 2026-04-05 22:21 by 醉翁wl
[考研] 考研生物与医药调剂 +8 铁憨憨123425 2026-03-31 8/400 2026-04-05 20:28 by lys0704
[考研] 301求调剂 +3 XYPLR 2026-04-05 4/200 2026-04-05 19:07 by XYPLR
[考研] 一志愿北京化工大学,初试成绩350求调剂 +9 沿岸?贝壳 2026-04-04 14/700 2026-04-05 01:09 by 沿岸?贝壳
[考研] 344材料与化工调剂 +9 调剂上岸玘 2026-04-03 9/450 2026-04-04 23:10 by happyddm
[考研] +5 雾与海 2026-04-02 6/300 2026-04-04 19:53 by 蓝云思雨
[考研] 材料调剂 +11 吴棂颖! 2026-04-03 11/550 2026-04-04 09:56 by 小小树2024
[考研] 材料与化工调剂一志愿大连海事085600,349 +11 吃的不少 2026-03-30 11/550 2026-04-03 18:05 by Jimmyandyou
[考研] 303求调剂 +10 DLkz1314. 2026-03-30 10/500 2026-04-03 18:03 by Jimmyandyou
[考研] 08工科,295,接受跨专业调剂 +8 lmnlzy 2026-03-30 8/400 2026-04-03 13:08 by nalakaiqi
[考研] 266分,一志愿电气工程,本科材料,求材料专业调剂 +9 哇呼哼呼哼 2026-04-02 9/450 2026-04-03 12:05 by 1753564080
[考研] 土木水利328分求调剂 +6 疾风知劲草666 2026-04-02 6/300 2026-04-03 11:38 by znian
[考研] 材料工程322分 +8 哈哈哈吼吼吼哈 2026-04-01 8/400 2026-04-02 11:53 by 3041
[考研] 食品学硕362求调剂 +3 xuanxianxian 2026-04-01 3/150 2026-04-01 21:05 by 啊李999
[硕博家园] 考研调剂 +5 骆驼男人 2026-04-01 5/250 2026-04-01 14:28 by syjjj0321
[考研] 322求调剂 +8 三水sss 2026-04-01 8/400 2026-04-01 10:19 by 唐沐儿
[考研] 哈尔滨工业大学材料与化工专硕378求调剂 +3 塔比乌斯 2026-03-30 3/150 2026-03-30 22:55 by 无际的草原
信息提示
请填处理意见