24小时热门版块排行榜    

查看: 1056  |  回复: 8

gengbiaolu

铜虫 (正式写手)

[求助] 求高人指点通过mathmatica编程数值求解耦合方程组: 已有2人参与

求高人指点通过mathmatica编程数值求解耦合方程组:
(E-1)x_1=a(x_0+x_2)
(E-2)x_2=a(x_1+x_3)
(E-3)x_3=a(x_2+x_4)
(E-4)x_4=a(x_3+x_5)
(E-5)x_5=a(x_4+x_6)
(E-6)x_6=a(x_5+x_7)
|x_1|^2+|x_2|^2+|x_3|^2+|x_4|^2+|x_5|^2+|x_6|^2=1-|x_0|^2-|x_7|^2
其中a为常数 a,x_0=0.1; x_7=0.2;
求x_1, x_2,...x_6 及相应的 E。
我用Mathmatic解下方程得到六组解
NSolve[{(a - 1)*x1 - 0.7*(x2 + 0.6) == 0, (a - 2)*x2 - 0.7*(x1 + x3) ==
    0, (a - 3)*x3 - 0.7*(x2 + x4) == 0, (a - 4)*x4 - 0.7*(x3 + 0.6) ==
    0, x1^2 + x2^2 + x3^2 + x4^2 + 0.6^2 + 0.6^2 == 1}, {x1, x2, x3, x4,x5,x6, a}]
我想设a变化,如a=0:0.1:1,每一个a求得相应的六组解,我如何将所得到的结果全部存下来以便画图呀?
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

gengbiaolu

铜虫 (正式写手)

gengbiaolu: 回帖置顶 2015-10-07 12:00:01
引用回帖:
4楼: Originally posted by gengbiaolu at 2015-10-07 11:36:50
求高人指点通过mathmatica编程数值求解耦合方程组:
(E-1)x_1=a(x_0+x_2)
(E-2)x_2=a(x_1+x_3)
(E-3)x_3=a(x_2+x_4)
(E-4)x_4=a(x_3+x_5)
(E-5)x_5=a(x_4+x_6)
(E-6)x_6=a(x_5+x_7)
|x_1|^2+|x_2|^2+|x_3|^2 ...

求高人指点通过mathmatica编程数值求解耦合方程组:
(E-1)x_1=a(x_0+x_2)
(E-2)x_2=a(x_1+x_3)
(E-3)x_3=a(x_2+x_4)
(E-4)x_4=a(x_3+x_5)
(E-5)x_5=a(x_4+x_6)
(E-6)x_6=a(x_5+x_7)
|x_1|^2+|x_2|^2+|x_3|^2+|x_4|^2+|x_5|^2+|x_6|^2=1-|x_0|^2-|x_7|^2
其中a为常数 a,x_0=0.1; x_7=0.1;
求x_1, x_2,...x_6 及相应的 E。
我用Mathmatic解下方程得到六组解
NSolve[{(E - 1)*x1 -a*(x2 + 0.1) == 0, (E - 2)*x2 - a*(x1 + x3) ==
    0, (E - 3)*x3 -a*(x2 + x4) == 0, (E - 4)*x4 -a*(x3 + x5) ==
    0, (E - 5)*x5 - a*(x4 + x6) == 0,(E - 6)*x6 -a*(x5 + 0.1) == 0,x1^2 + x2^2 + x3^2 + x4^2 +x5^2+x6^2+ 0.1^2 + 0.1^2 == 1}, {x1, x2, x3, x4,x5,x6, E}]
我想设a变化,如a=0:0.1:1,每一个a求得相应的六组解,我如何将所得到的结果全部存下来以便画图呀?

每一个确定的a是可以求出数据的。
5楼2015-10-07 11:59:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
4个未知数5个方程,没有精确解吧
2楼2015-10-07 11:10:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gengbiaolu

铜虫 (正式写手)

引用回帖:
2楼: Originally posted by dingd at 2015-10-07 11:10:59
4个未知数5个方程,没有精确解吧

求高人指点通过mathmatica编程数值求解耦合方程组:
(E-1)x_1=a(x_0+x_2)
(E-2)x_2=a(x_1+x_3)
(E-3)x_3=a(x_2+x_4)
(E-4)x_4=a(x_3+x_5)
(E-5)x_5=a(x_4+x_6)
(E-6)x_6=a(x_5+x_7)
|x_1|^2+|x_2|^2+|x_3|^2+|x_4|^2+|x_5|^2+|x_6|^2=1-|x_0|^2-|x_7|^2
其中a为常数 a,x_0=0.1; x_7=0.1;
求x_1, x_2,...x_6 及相应的 E。
我用Mathmatic解下方程得到六组解
NSolve[{(a - 1)*x1 - 0.7*(x2 + 0.6) == 0, (a - 2)*x2 - 0.7*(x1 + x3) ==
    0, (a - 3)*x3 - 0.7*(x2 + x4) == 0, (a - 4)*x4 - 0.7*(x3 + 0.6) ==
    0, x1^2 + x2^2 + x3^2 + x4^2 +x5^2+x6^2+ 0.1^2 + 0.1^2 == 1}, {x1, x2, x3, x4,x5,x6, a}]
我想设a变化,如a=0:0.1:1,每一个a求得相应的六组解,我如何将所得到的结果全部存下来以便画图呀?

每一个确定的a是可以求出数据的。
3楼2015-10-07 11:31:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gengbiaolu

铜虫 (正式写手)

引用回帖:
3楼: Originally posted by gengbiaolu at 2015-10-07 11:31:02
求高人指点通过mathmatica编程数值求解耦合方程组:
(E-1)x_1=a(x_0+x_2)
(E-2)x_2=a(x_1+x_3)
(E-3)x_3=a(x_2+x_4)
(E-4)x_4=a(x_3+x_5)
(E-5)x_5=a(x_4+x_6)
(E-6)x_6=a(x_5+x_7)
|x_1|^2+|x_2|^2+|x_3|^2 ...

求高人指点通过mathmatica编程数值求解耦合方程组:
(E-1)x_1=a(x_0+x_2)
(E-2)x_2=a(x_1+x_3)
(E-3)x_3=a(x_2+x_4)
(E-4)x_4=a(x_3+x_5)
(E-5)x_5=a(x_4+x_6)
(E-6)x_6=a(x_5+x_7)
|x_1|^2+|x_2|^2+|x_3|^2+|x_4|^2+|x_5|^2+|x_6|^2=1-|x_0|^2-|x_7|^2
其中a为常数 a,x_0=0.1; x_7=0.1;
求x_1, x_2,...x_6 及相应的 E。
我用Mathmatic解下方程得到六组解
NSolve[{(E - 1)*x1 -a*(x2 + 0.1) == 0, (E - 2)*x2 - a*(x1 + x3) ==
    0, (E - 3)*x3 -a*(x2 + x4) == 0, (E - 4)*x4 -a*(x3 + x5) ==
    0, (E - 5)*x5 - a*(x4 + x6) == 0,(E - 6)*x6 -a*(x5 + 0.1) == 0,x1^2 + x2^2 + x3^2 + x4^2 +x5^2+x6^2+ 0.1^2 + 0.1^2 == 1}, {x1, x2, x3, x4,x5,x6, a}]
我想设a变化,如a=0:0.1:1,每一个a求得相应的六组解,我如何将所得到的结果全部存下来以便画图呀?

每一个确定的a是可以求出数据的。
4楼2015-10-07 11:36:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gengbiaolu

铜虫 (正式写手)

引用回帖:
4楼: Originally posted by gengbiaolu at 2015-10-07 11:36:50
求高人指点通过mathmatica编程数值求解耦合方程组:
(E-1)x_1=a(x_0+x_2)
(E-2)x_2=a(x_1+x_3)
(E-3)x_3=a(x_2+x_4)
(E-4)x_4=a(x_3+x_5)
(E-5)x_5=a(x_4+x_6)
(E-6)x_6=a(x_5+x_7)
|x_1|^2+|x_2|^2+|x_3|^2 ...

求高人指点通过mathmatica编程数值求解耦合方程组:
(E-1)x_1=a(x_0+x_2)
(E-2)x_2=a(x_1+x_3)
(E-3)x_3=a(x_2+x_4)
(E-4)x_4=a(x_3+x_5)
(E-5)x_5=a(x_4+x_6)
(E-6)x_6=a(x_5+x_7)
|x_1|^2+|x_2|^2+|x_3|^2+|x_4|^2+|x_5|^2+|x_6|^2=1-|x_0|^2-|x_7|^2
其中a为常数 a,x_0=0.1; x_7=0.1;
求x_1, x_2,...x_6 及相应的 E。
我用Mathmatic解下方程得到六组解
NSolve[{(E - 1)*x1 -a*(x2 + 0.1) == 0, (E - 2)*x2 - a*(x1 + x3) ==
    0, (E - 3)*x3 -a*(x2 + x4) == 0, (E - 4)*x4 -a*(x3 + x5) ==
    0, (E - 5)*x5 - a*(x4 + x6) == 0,(E - 6)*x6 -a*(x5 + 0.1) == 0,x1^2 + x2^2 + x3^2 + x4^2 +x5^2+x6^2+ 0.1^2 + 0.1^2 == 1}, {x1, x2, x3, x4,x5,x6, E}]
我想设a变化,如a=0:0.1:1,每一个a求得相应的六组解,我如何将所得到的结果全部存下来以便画图呀?

每一个确定的a是可以求出数据的。
6楼2015-10-07 12:01:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

不加范围限制的话解不唯一,下面是一组:

a        e        x1        x2        x3        x4        x5        x6
0        2        3.40200291638611E-16        0.989949493642575        -0.0788211799226701        1.7009745748393E-18        -9.79680019258626E-17        -1.35845656900376E-16
0.1        2.0009509395847        0.107807908931915        0.979104277325704        -0.0984972187821322        0.00493126138291943        -8.1115554517109E-5        -0.00249856610750213
0.2        2.00312979220798        0.208902424015834        0.94778122591242        -0.194070632536152        0.0195349329408076        -0.000972995458290411        -0.00495522743515692
0.3        2.00475619886502        0.298311893381393        0.899102413522466        -0.28405752711937        0.0432525632019884        -0.00360716824294884        -0.00723806880545438
0.4        2.00351328194999        0.373501524942113        0.837034352740828        -0.366149680736504        0.0751238814077625        -0.00880989785036338        -0.00912702666948378
0.5        1.99714137994653        0.43402297658176        0.765564539577435        -0.438399892874306        0.113741683602822        -0.0172171300436037        -0.0103404688766186
0.6        1.9838450778273        0.480780793929933        0.688356362694524        -0.499314699709264        0.157278787001174        -0.0291826345606664        -0.0105798755493548
0.7        1.96246631355431        0.515400619368572        0.60865104875003        -0.548036215967702        0.203643287617007        -0.0447210105111898        -0.00958389344761196
0.8        1.93247444220041        0.539806310682728        0.529194485562465        -0.58447400171066        0.25073168280779        -0.0635187012305703        -0.00717513353036194
0.9        1.89385124809644        0.555949793980875        0.452151574699833        -0.609277933231496        0.296684009087308        -0.0850116839321145        -0.00328519137418243
1        1.84712193991107        0.566097927877863        0.379894253941341        -0.623490878928517        0.338735708745048        -0.106680450477719        -2.34724663099093E-19
7楼2015-10-07 12:13:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gengbiaolu

铜虫 (正式写手)

引用回帖:
7楼: Originally posted by dingd at 2015-10-07 12:13:28
不加范围限制的话解不唯一,下面是一组:

a        e        x1        x2        x3        x4        x5        x6
0        2        3.40200291638611E-16        0.989949493642575        -0.0788211799226701        1.7009745748393E-18        -9.79680019258626E-17        -1.35845656900376E-16
0.1        2. ...

解是不唯一的,对每一个a我需要所有的E,重点是我如何存储下所有的a所对应的解呀
8楼2015-10-07 12:24:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

……你看看Table[]的自带帮助。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
9楼2015-10-18 22:23:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gengbiaolu 的主题更新
信息提示
请填处理意见