求方程的全部解
Forcal优化库FcOpt中新增函数fcopt::isolve,试图求解方程的全部解。正在测试修改,请大家多提意见。参考:http://www.forcal.net/sysm/forcal9/fchtm/fcopt.htm
例子1:求方程的全部解:f(x)=x^6-5*x^5+3*x^4+x^3-7*x^2+7*x-20;
f(x)=x^6-5*x^5+3*x^4+x^3-7*x^2+7*x-20;
fcopt::isolve;
-1.402463030422577 3.552713678800501e-015
4.333755446919994 -2.984279490192421e-013
2.
说明:前面2行,每行中前一个数是解,后一个数是误差。最后的2说明有两个解。
谢谢................ 例子2:求方程的全部解(当y为1时,求x的全部解):f(x,y)=(x^2+y^2)^3-36*(x^2-y^2)^2;
!using("fcopt");
f(x,y)=(x^2+y^2)^3-36*(x^2-y^2)^2;
isolve;
-5.530393535267971 1. -3.637978807091713e-012
-1.32936186218296 1. -7.105427357601002e-015
-0.8047014256478491 1. -1.776356839400251e-015
0.8047014256478491 1. -1.776356839400251e-015
1.32936186218296 1. -7.105427357601002e-015
5.530393535267971 1. -3.637978807091713e-012
6.
例子3:求方程的全部解(x取1.1,求y的全部解):f(x,y)=(x^2+y^2)^3-36*(x^2-y^2)^2;
!using("fcopt");
f(x,y)=(x^2+y^2)^3-36*(x^2-y^2)^2;
isolve;
1.1 -5.413569621185505 0.
1.1 -1.52029233271966 0.
1.1 -0.8671650244626143 8.881784197001252e-016
1.1 0.8671650244626143 8.881784197001252e-016
1.1 1.52029233271966 0.
1.1 5.413569621185504 0.
6.
例子4:为隐函数绘图准备数据(x取1~10,y取1~10,z取1~10):f(x,y,z)=(x+y+z)*(x*y+x*z+y*z)-10*x*y*z;
!using("fcopt");
f(x,y,z)=(x+y+z)*(x*y+x*z+y*z)-10*x*y*z;
init(:x,y,i)={
i=0,
x=1,while{x<=10,
y=1,while{y<=10,
i=i+isolve,
y=y+0.5
},
x=x+0.5
},
i
};
1. 1. 2. 0.
1. 1.5 2.226208734813002 0.
1. 2. 1. 0.
1. 2. 1.999999999999999 0.
1.5 1. 2.226208734813 0.
1.5 1.5 3. 0.
1.5 2. 3.30716411545796 0.
1.5 2.5 1.135767284302283 0.
1.5 2.5 3.301732715697718 0.
1.5 3. 1.499999999999999 0.
1.5 3. 3.000000000000004 0.
2. 1. 1. 0.
2. 1. 1.999999999999996 0.
2. 1.5 3.30716411545796 0.
2. 2. 1. 0.
2. 2. 4.000000000000001 0.
2. 2.5 1.149218940641788 0.
2. 2.5 4.350781059358212 0.
2. 3. 1.347582530373998 0.
2. 3. 4.452417469626003 0.
2. 3.5 1.611932882193128 0.
2. 3.5 4.342612572352325 0.
2. 4. 1.999999999999999 0.
2. 4. 3.999999999999999 0.
2.5 1.5 1.135767284302283 0.
2.5 1.5 3.301732715697717 0.
2.5 2. 1.149218940641788 0.
2.5 2. 4.350781059358212 0.
2.5 2.5 1.25 0.
2.5 2.5 4.999999999999998 0.
2.5 3. 1.39451558049041 0.
2.5 3. 5.378211692236864 5.684341886080802e-014
2.5 3.5 1.577202478216426 0.
2.5 3.5 5.547797521783575 0.
2.5 4. 1.804522914534426 0.
2.5 4. 5.541630931619419 0.
2.5 4.5 2.09541126457111 0.
2.5 4.5 5.368874449714605 0.
2.5 5. 2.5 0.
2.5 5. 4.999999999999998 0.
2.5 5.5 3.292157134434847 0.
2.5 5.5 4.176592865565161 0.
3. 1.5 1.499999999999999 0.
3. 1.5 3.000000000000004 0.
3. 2. 1.347582530373997 0.
3. 2. 4.452417469626003 0.
3. 2.5 1.39451558049041 0.
3. 2.5 5.378211692236861 -5.684341886080802e-014
3. 3. 1.5 0.
3. 3. 6.000000000000001 0.
3. 3.5 1.641371232518948 0.
3. 3.5 6.397090305942587 0.
3. 4. 1.814243197655509 -2.842170943040401e-014
3. 4. 6.614328230915922 0.
3. 4.5 2.021373795560996 0.
3. 4.5 6.678626204439006 0.
3. 5. 2.271534568604568 0.
3. 5. 6.603465431395431 0.
3. 5.5 2.583225948048685 0.
3. 5.5 6.387362287245431 0.
3. 6. 3. 0.
3. 6. 6.000000000000004 0.
3. 6.5 3.692013773129524 0.
3. 6.5 5.281670437396789 0.
3.5 2. 1.611932882193128 0.
3.5 2. 4.342612572352325 0.
3.5 2.5 1.577202478216427 0.
3.5 2.5 5.547797521783575 0.
3.5 3. 1.641371232518947 0.
3.5 3. 6.397090305942591 0.
3.5 3.5 1.75 0.
3.5 3.5 7. 0.
3.5 4. 1.889112461544294 0.
3.5 4. 7.410887538455708 0.
3.5 4.5 2.055177184113076 0.
3.5 4.5 7.663572815886926 0.
3.5 5. 2.249335186315033 0.
3.5 5. 7.78007657839085 0.
3.5 5.5 2.476297487447864 0.
3.5 5.5 7.773702512552139 0.
3.5 6. 2.745300211529267 0.
3.5 6. 7.649436630576002 0.
3.5 6.5 3.073844239487252 0.
3.5 6.5 7.401155760512754 0.
3.5 7. 3.5 0.
3.5 7. 7. 0.
3.5 7.5 4.146248634662254 0.
3.5 7.5 6.331024092610477 0.
4. 2. 2.000000000000001 0.
4. 2. 3.999999999999997 0.
4. 2.5 1.804522914534426 0.
4. 2.5 5.541630931619421 0.
4. 3. 1.814243197655509 0.
4. 3. 6.614328230915922 0.
4. 3.5 1.889112461544296 0.
4. 3.5 7.410887538455708 0.
4. 4. 2. 0.
4. 4. 8. 0.
4. 4.5 2.137407852977751 0.
4. 4.5 8.421415676434013 0.
4. 5. 2.298437881283576 0.
4. 5. 8.701562118716424 0.
4. 5.5 2.483445700017514 0.
4. 5.5 8.858659563140384 0.
4. 6. 2.695165060747996 0.
4. 6. 8.904834939252009 0.
4. 6.5 2.938916502606828 0.
4. 6.5 8.846797783107462 0.
4. 7. 3.223865764386256 0.
4. 7. 8.685225144704656 0.
4. 7.5 3.566387492405245 0.
4. 7.5 8.411873377159974 0.
4. 8. 4.000000000000002 0.
4. 8. 7.999999999999995 0.
4. 8.5 4.618832614156824 0.
4. 8.5 7.361167385843178 0.
4.5 2.5 2.095411264571111 0.
4.5 2.5 5.368874449714603 0.
4.5 3. 2.021373795560996 0.
4.5 3. 6.678626204439004 0.
4.5 3.5 2.055177184113076 0.
4.5 3.5 7.663572815886925 0.
4.5 4. 2.137407852977751 0.
4.5 4. 8.421415676434013 0.
4.5 4.5 2.25 0.
4.5 4.5 9. 0.
4.5 5. 2.386074153449669 0.
4.5 5. 9.429715320234545 0.
4.5 5.5 2.543211996792689 0.
4.5 5.5 9.731788003207315 0.
4.5 6. 2.721364796483262 0.
4.5 6. 9.92149234637388 0.
4.5 6.5 2.922185008548723 0.
4.5 7. 3.149000780229209 0.
4.5 7.5 3.407301852906852 0.
4.5 7.5 9.905198147093154 0.
4.5 8. 3.705986018674346 0.
4.5 8. 9.714013981325651 0.
4.5 8.5 4.060312832145664 0.
4.5 8.5 9.420456398623564 0.
4.5 9. 4.5 0.
4.5 9. 9.000000000000005 0.
4.5 9.5 5.100326474258905 0.
4.5 9.5 8.381816382883958 0.
4.5 10. 6.402193416458818 0.
4.5 10. 7.028841066299776 4.547473508864641e-013
5. 2.5 2.499999999999997 0.
5. 2.5 4.999999999999998 0.
5. 3. 2.271534568604568 0.
5. 3. 6.603465431395431 0.
5. 3.5 2.249335186315031 0.
5. 3.5 7.78007657839085 0.
5. 4. 2.298437881283576 0.
5. 4. 8.701562118716424 0.
5. 4.5 2.386074153449668 0.
5. 4.5 9.429715320234545 0.
5. 5. 2.5 0.
5. 5. 9.999999999999993 0.
5. 5.5 2.635001373375082 0.
5. 6. 2.789031160980821 0.
5. 6.5 2.961827475384206 0.
5. 7. 3.154404956432853 0.
5. 7.5 3.368956325934996 0.
5. 8. 3.609045829068848 0.
5. 8.5 3.880150804346176 0.
5. 9. 4.190822529142221 0.
5. 9.5 4.555265557190405 0.
5. 10. 4.999999999999997 0.
5. 10. 10. 0.
5.5 2.5 3.292157134434847 0.
5.5 2.5 4.176592865565167 0.
5.5 3. 2.583225948048685 0.
5.5 3. 6.387362287245431 0.
5.5 3.5 2.476297487447864 0.
5.5 3.5 7.773702512552133 0.
5.5 4. 2.483445700017513 0.
5.5 4. 8.858659563140384 0.
5.5 4.5 2.543211996792689 0.
5.5 4.5 9.731788003207313 0.
5.5 5. 2.635001373375081 0.
5.5 5.5 2.749999999999999 0.
5.5 6. 2.884119329429114 0.
5.5 6.5 3.035604845963815 0.
5.5 7. 3.204083523261024 0.
5.5 7.5 3.390173520212255 0.
5.5 8. 3.595369279178611 0.
5.5 8.5 3.822111065390602 0.
5.5 9. 4.074041860443781 0.
5.5 9.5 4.356541541407054 0.
5.5 10. 4.677786777828594 0.
6. 3. 3. 0.
6. 3. 5.999999999999999 0.
6. 3.5 2.745300211529266 0.
6. 3.5 7.649436630575996 0.
6. 4. 2.695165060747994 0.
6. 4. 8.904834939252005 0.
6. 4.5 2.721364796483262 0.
6. 4.5 9.92149234637388 0.
6. 5. 2.78903116098082 0.
6. 5.5 2.884119329429112 0.
6. 6. 3. 0.
6. 6.5 3.133381054885423 0.
6. 7. 3.282742465037893 0.
6. 7.5 3.447656821925362 2.273736754432321e-013
6. 8. 3.628486395311015 0.
6. 8.5 3.826272163735232 0.
6. 9. 4.042747591121993 0.
6. 9.5 4.280465505524228 0.
6. 10. 4.543069137209136 0.
6.5 3. 3.692013773129525 0.
6.5 3. 5.281670437396786 0.
6.5 3.5 3.073844239487251 0.
6.5 3.5 7.401155760512746 0.
6.5 4. 2.938916502606827 0.
6.5 4. 8.846797783107464 0.
6.5 4.5 2.922185008548724 0.
6.5 5. 2.961827475384206 0.
6.5 5.5 3.035604845963813 0.
6.5 6. 3.133381054885422 0.
6.5 6.5 3.25 0.
6.5 7. 3.382753896487015 0.
6.5 7.5 3.530313399868478 0.
6.5 8. 3.692229149874506 0.
6.5 8.5 3.868693727795107 0.
6.5 9. 4.060441442861232 0.
6.5 9.5 4.268736592110795 0.
6.5 10. 4.495435882583067 0.
7. 3.5 3.500000000000001 0.
7. 3.5 7. 0.
7. 4. 3.223865764386255 0.
7. 4. 8.685225144704656 0.
7. 4.5 3.14900078022921 0.
7. 5. 3.154404956432853 0.
7. 5.5 3.204083523261021 0.
7. 6. 3.282742465037893 0.
7. 6.5 3.382753896487015 0.
7. 7. 3.5 0.
7. 7.5 3.632214429249618 0.
7. 8. 3.778224923088592 0.
7. 8.5 3.93757894317775 0.
7. 9. 4.110354368226149 0.
7. 9.5 4.297071556823225 0.
7. 10. 4.498670372630065 0.
7.5 3.5 4.146248634662252 0.
7.5 3.5 6.331024092610478 0.
7.5 4. 3.566387492405242 0.
7.5 4. 8.411873377159969 0.
7.5 4.5 3.407301852906851 0.
7.5 4.5 9.905198147093145 0.
7.5 5. 3.368956325934993 0.
7.5 5.5 3.390173520212255 0.
7.5 6. 3.447656821925362 0.
7.5 6.5 3.530313399868477 0.
7.5 7. 3.632214429249618 0.
7.5 7.5 3.750000000000003 0.
7.5 8. 3.881745401569135 0.
7.5 8.5 4.026409271112575 0.
7.5 9. 4.183546741471229 0.
7.5 9.5 4.353157178625922 0.
7.5 10. 4.535607994138771 0.
8. 4. 4.000000000000002 0.
8. 4. 8. 0.
8. 4.5 3.705986018674347 0.
8. 4.5 9.714013981325657 0.
8. 5. 3.609045829068849 0.
8. 5.5 3.595369279178607 0.
8. 6. 3.628486395311016 0.
8. 6.5 3.692229149874504 0.
8. 7. 3.77822492308859 0.
8. 7.5 3.881745401569135 0.
8. 8. 4.000000000000003 0.
8. 8.5 4.131333821659408 0.
8. 9. 4.274815705955503 0.
8. 9.5 4.430014593640446 0.
8. 10. 4.596875762567152 0.
8.5 4. 4.618832614156823 0.
8.5 4. 7.361167385843172 0.
8.5 4.5 4.060312832145666 0.
8.5 4.5 9.420456398623564 0.
8.5 5. 3.880150804346178 0.
8.5 5.5 3.822111065390603 0.
8.5 6. 3.826272163735231 0.
8.5 6.5 3.868693727795108 0.
8.5 7. 3.937578943177748 0.
8.5 7.5 4.026409271112575 0.
8.5 8. 4.13133382165941 0.
8.5 8.5 4.25 0.
8.5 9. 4.380969715903502 0.
8.5 9.5 4.523405444098199 0.
8.5 10. 4.676893219133843 0.
9. 4.5 4.499999999999997 0.
9. 4.5 9.000000000000009 0.
9. 5. 4.190822529142222 0.
9. 5.5 4.074041860443781 0.
9. 6. 4.042747591121993 0.
9. 6.5 4.060441442861232 -4.547473508864641e-013
9. 7. 4.110354368226151 0.
9. 7.5 4.183546741471229 0.
9. 8. 4.274815705955503 0.
9. 8.5 4.380969715903502 0.
9. 9. 4.5 0.
9. 9.5 4.630645298521483 0.
9. 10. 4.772148306899336 0.
9.5 4.5 5.100326474258897 0.
9.5 4.5 8.381816382883978 0.
9.5 5. 4.555265557190406 0.
9.5 5.5 4.356541541407055 0.
9.5 6. 4.280465505524228 0.
9.5 6.5 4.268736592110795 0.
9.5 7. 4.297071556823221 0.
9.5 7.5 4.353157178625922 0.
9.5 8. 4.430014593640445 0.
9.5 8.5 4.523405444098199 0.
9.5 9. 4.630645298521484 0.
9.5 9.5 4.75 0.
9.5 10. 4.880354401607461 0.
10. 4.5 6.402193416458861 0.
10. 4.5 7.028841066299777 4.547473508864641e-013
10. 5. 4.999999999999997 0.
10. 5. 10. 0.
10. 5.5 4.67778677782859 0.
10. 6. 4.543069137209136 0.
10. 6.5 4.495435882583067 0.
10. 7. 4.498670372630065 0.
10. 7.5 4.535607994138771 0.
10. 8. 4.596875762567152 0.
10. 8.5 4.676893219133843 0.
10. 9. 4.772148306899336 0.
10. 9.5 4.880354401607461 0.
10. 10. 5. 0.
330.
isolve函数正在测试阶段,请大家赐题测试,以帮助改进。方程中可包含任意内容,包括积分、微分、微分方程等等。谢谢!
页:
[1]