数学建模社区-数学中国

标题: 非线性规划程序 [打印本页]

作者: dx999    时间: 2004-12-9 20:04
标题: 非线性规划程序

#include<iostream.h> ! K( M" J+ P# l P+ P5 d#include<math.h> 0 i( o# \* Q z% s& z! Xdouble fx(int n,double p[],double x) $ V" }, C9 k8 S% F. Q{ 7 {# d; ~& {. Q2 G2 L double z=0,y=1; . W2 d0 K' V: U% E8 H' Z- ~' U4 e int i=0,j=0; % D+ w7 a2 ^7 g# f6 C1 F for(;i<n+1;i++) 5 G+ q2 j7 m1 ~) q, E2 @6 U5 c { 4 Q8 l( ]4 J6 U! C. b+ Z- e) D3 l for(;j<i;j++)! s4 P. @& p9 ^) }& S% J y*=x;: T9 X. P) F; p+ c z+=*(p+i)*y; : C8 z4 }; J' N# E# i; H2 q0 _$ X0 a } % W4 ~' X; |( Z# y return z; 1 N0 [1 i9 s: g! a$ f) E$ F" j* q}

4 @: W' X: f( s- X2 p

int fi(int k)" k' O4 Q+ d+ x; ^ {' S! ?: ~; E0 o W: v r! t5 Q if(k==0)' _5 r" D; i; ~9 Z return 1;- y: F* w' D b1 v else # K/ _2 z% q0 _9 d. P. w9 G5 Z5 p {4 n: s1 }7 ^& f5 E2 X- ~; o" w if(k==1) " e1 \% I7 p9 Y! k+ N6 r. n, l8 p return 1;- ~% h" L5 F' k/ q else ; n# G5 g# p# E {8 z* @+ ]6 q) ~/ }6 `( r3 A int i=0,i1=1,i2=1,w=0;# I" B2 V' `& a9 ]+ i" g! u for(;i<k-1;i++) " n8 h1 P6 p h8 T) ^! x* |: k {" b& j8 n+ r/ _& S; v3 { w=i1+i2; 5 v. x, w' O) o8 i* b* j i1=i2; 7 F' u2 o5 k9 y4 \+ F9 y; }' s i2=w;& O7 `5 ^( N9 ?# J }* o) [! E& N& n return w;5 g' \9 K$ w5 G& L5 p# ]# S+ s5 J6 v } & @4 ]' e* n2 T2 ?4 M, }} " C) x! q$ c; T# i+ a* }5 f}

8 Z2 V m& a8 l2 V3 B

int r(double w,double a,double b)" j# p9 I$ \9 F& x {( u* u3 {9 C8 ]' ~& A int i=0; 8 @3 A/ ~4 x2 Z2 Q4 n, } Z6 G3 q! } for(;fi(i)<=(b-a)/w;i++). ^1 g" g1 Q4 O, @# Y* i8 N {} 8 Q- {; Z; L3 P% P+ e; C9 s return i;) I+ X% S B; w# d" W9 ` }9 G8 G. o+ B5 z; a" n; g3 k- r void main()3 w' S I4 E# l { % x0 F3 o+ E) I. ` cout<<"输入函数的最高次幂";8 o) i( b* F% o+ H9 ]: P+ V int n;& I8 j" P- }8 A/ F9 x cin>>n; # V9 H. C" H" N2 W) i double *p=new double[n+1];+ n a+ p" {: c l' p( j4 z7 A) Q double a,b,g=0,j=0,c=0; 3 j8 o% W$ t2 x u2 \( h cout<<"依升降幂输入x项的系数"<<endl;6 } Q A# H2 f( j3 I4 q' D0 R( O+ F for(int i=0;i<n+1;i++) ; s" k& s4 e) w cin>>*(p+i);7 [7 P$ w: \/ ^5 A cout<<"输入误差值"<<endl;, C9 q- V& w; Z& \% r double w;( ^8 L% Y" u0 P0 Y6 |! n cin>>w; 3 ?& @6 Z' r+ ]" C cout<<"输入初始区间"<<endl;* L; `8 a7 K% F# G% n+ g cin>>a>>b;5 b/ A1 g& H- h3 w B! V" m cout<<"输入辨别常数"<<endl; 0 T% w' o" r4 d. w. C8 ] cin>>c;: `$ G' C4 B# H n=r(w,a,b);) Y& r K! `! k i=0; % F' x: x8 ?* F cout<<fi(n-i-2)<<endl; # r" P0 R% ?5 x c2 d- i cout<<a<<" "<<b;1 F J* X* d2 Z! w2 n" K g=a+fi(n-2-i)*(b-a)/fi(n-i); u4 T1 G0 X1 ]) ]- T' v/ z8 ] j=a+fi(n-1-i)*(b-a)/fi(n-i); 6 o8 u4 Y/ x) n3 l- `8 I, z cout<<g<<" "<<j;+ Q5 ?- ^8 w' l7 H) T6 d for(i=1;i<n-1;i++)4 D4 |0 ? B$ z- U& G4 W0 v1 M {% }; m0 v& j) ?- h7 G9 {4 Z 3 p' U1 f6 _5 v" \: A8 p . c x# S) S. l2 O6 d+ U if(fx(n,p,g)>fx(n,p,j))' `4 d# D* X/ ^1 W8 E2 n {$ B- `: S0 u" h: T0 d' [* {: O" x a=g;. T% ^! T" u" j/ l% @ g=j;! d: D& p& u) J8 q4 K6 ` j=a+fi(n-1-i)*(b-a)/fi(n-i);' R$ E1 M, |4 p4 C5 Z# _( F) e( W- A } % d2 c0 `+ O: g0 U8 H8 O- Y, S else ) U+ e1 \! V2 f! R% u {2 I; c( |- `9 x8 s, R/ c& l( I b=j;- h1 h' \! [* D$ K! Z# s$ s3 F j=g;3 T* g2 R) `1 g' | g=a+fi(n-2-i)*(b-a)/fi(n-i); ' i$ n3 ~9 q) W6 \3 X } 7 D( H, {( j$ G3 ~* o 6 D) l9 D0 z9 J5 R+ U* X# C5 R } 1 r. q4 o' `3 L j=g+c; 7 ^( Y0 ~ q( } if(fx(n,p,g)>fx(n,p,j)). a$ R v L, q' F+ `( O6 n a=g; . C; T3 X# |3 U8 L1 n4 X else b=g; 2 b$ ^. I3 @2 ^; X: T( d r8 R cout<<"函数值在 ("<<g<<","<<j<<")之间;"; " j8 J/ v. G; k2 j( P/ G* S 5 Z! K! F3 k6 E0 [# Y0 \, V } ' R/ C: S7 N3 C; @% y% |1 l


作者: Allos    时间: 2004-12-9 21:29
这个程序可读性太差
作者: zhanfeng    时间: 2004-12-18 20:59
如果加上注释会容易看一些!
作者: ilikenba    时间: 2004-12-19 16:16
用的是什么算法?
作者: harleych    时间: 2004-12-22 16:24
没什么用
作者: duanzengbin    时间: 2004-12-23 21:27
C语言吗?
作者: leonsun2002    时间: 2004-12-28 15:35
什么算法?
作者: zhyi    时间: 2005-4-17 16:32

有点像牛顿法求解非线性方程组

没有解时就找到某个区间


作者: mengfanqi    时间: 2005-9-6 19:45
可以慢慢研究!!!
作者: garr    时间: 2005-9-6 21:02

不是吧,用C语言求规划?汗。lingo不是能解吗?


作者: garr    时间: 2005-9-6 21:03

不行编个遗传算法,反正工具箱挺好用的


作者: chz0829    时间: 2006-6-3 00:43
都这么高深呀,看不懂哦
作者: jinfly4997    时间: 2006-7-27 13:20

This is a C++ program!


作者: nehcoay    时间: 2006-10-15 05:25
汗,都有matlab还用自己弄么
作者: ROBURITE    时间: 2006-10-17 20:10
再看看
作者: 999mmg    时间: 2006-11-3 13:53
hehe&nbsp;&nbsp; 绝对是好东西啊
作者: 家家开水    时间: 2011-4-16 17:02
头都昏了···
作者: 515genius    时间: 2011-4-22 11:14
慢慢看好了
作者: 水木年华zzu    时间: 2011-4-28 16:21
楼主要是能把格式整理下就更好了
作者: shuxuezaozhuang    时间: 2011-9-20 16:20
有些乱!!
作者: 城榜公_DNO    时间: 2011-10-13 23:49
沙发,板凳都没偶的份了。
) U. K& P* D" ]! [/ n$ x
( }: e% U% ~7 \$ o
# z) F& v1 l9 {/ o: h, Z. `9 A, ^) r" e( I7 M3 _

+ [) n% C3 h4 l! y" P5 K, g
3 l+ h7 T( ]8 o  r8 O3 K3 Z6 ?6 |' ?3 I$ `

! V9 w/ K% H, Q2 w0 _. e
/ \' ^2 ^2 ~! K3 W) C
. I, u$ ]8 }7 N8 e% {  \+ I! v2 t5 v# V0 @
( ?- ]7 a+ R6 K9 M) X* D% W
7 ]: N: ^' o, e7 g+ R! o$ M5 d" s9 A

: u% }& P5 M" o 淘宝专享地址:zhfqw.taobao.com/
* `! G4 T) N7 m6 {9 U+ U1 [$ }! b
' L3 p8 D* c( c. }5 s8 N* ]如何将宝贝卖向全世界           索马里论坛**598专卖2 E% {8 t8 X9 n9 d% }

7 F7 r( H8 ?; {# @# T1 e5 g
如何将宝贝卖向全世界           索马里论坛**598专卖
作者: lsyzzhl    时间: 2011-11-28 20:32

作者: weigao1234    时间: 2011-11-29 21:32

作者: 无语的昭昭    时间: 2015-2-4 10:17
c啊,,,,历害,,我一般用lingo的说" }# b. M% p- `( _





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5