数学建模社区-数学中国

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

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

#include<iostream.h>/ g f- y: V! \# ` #include<math.h> 3 { f# z$ Y' U. u! N: Edouble fx(int n,double p[],double x) 8 s- r* W6 L5 W. V' }5 U. Y{ " r, s& k% v T$ G; o double z=0,y=1;5 }3 c" T' j$ p4 ^. T: p& l" y' {' n int i=0,j=0; : p% o: S8 n4 U; Z for(;i<n+1;i++) ( g+ S1 U+ ^( S) a, M { ! @# y# f9 W8 c$ t5 `( `8 b for(;j<i;j++)( z4 `4 I- e% P+ D0 m$ r( i y*=x;1 {3 M; `, H; G0 F, r7 f z+=*(p+i)*y;, A% Y2 Q3 j8 M: D& N }8 c8 J2 i9 l8 Z! b return z; i0 _, Q e2 A3 | }

+ w6 b |6 b7 n4 S8 Y' o

int fi(int k)# ~ {( \& |6 D6 v$ r* l { H( Z4 H* M! v" g if(k==0) 9 Y+ d3 U" W/ f \ d4 O1 Y return 1;4 b& x6 h7 i7 \# P else ( T% u7 I& n* ~3 U% z; Z: s3 W {$ @( H# d7 q- D: p) Y$ s if(k==1) 4 t- t5 y: N% \+ d0 l return 1; ; ?) j# L1 ~6 H+ K# K4 }( u! G else 8 T) r3 {! i# K% B; s9 u: o/ p. i { $ w3 \, T8 c2 k' O int i=0,i1=1,i2=1,w=0; 7 p* k6 Y( A* D) v9 _; V" f$ | for(;i<k-1;i++)) n e, h# A; k {" D4 i `2 {# d! {4 y, }: y w=i1+i2;' D. U# R3 z5 W i1=i2;, P/ n; @+ E5 V# ~& W i2=w;# M* ~- [1 R, t' ] }2 a4 N; Q1 ^# \4 R2 L# I" [% N return w;- e+ V- f; x6 _! v }& y% t4 x; K5 x0 r } 1 S" W+ r( M# x8 ?}

' M5 s8 [) i5 B4 d8 J' W

int r(double w,double a,double b)/ @( I* ^ l4 Z* d7 C$ p {# v* _. l5 q* _% g3 ]# H int i=0; A$ X/ A% p' i for(;fi(i)<=(b-a)/w;i++) : ]8 c: ^7 p" Y" K) A( I {}* A1 l: v- }1 S0 o return i; W4 w9 j5 O- ]! P) V; s! n2 u, ` } : G; ]$ K8 V kvoid main()$ H* e% l H* U3 @% n1 M& x { % F9 f$ o7 J% c; V7 e+ Y2 a cout<<"输入函数的最高次幂";' e' k _4 Y* ^2 S" S4 [6 i3 ^7 b int n; 6 {( D" }' ^# B& ^% F) M cin>>n; 0 a" ^( i! T2 u- a. T) H double *p=new double[n+1];2 \$ s+ q8 N5 f1 q; D0 r double a,b,g=0,j=0,c=0; ! Q0 m& F! U3 ]4 e cout<<"依升降幂输入x项的系数"<<endl; + F8 T9 ~; J. \. Z- } for(int i=0;i<n+1;i++); {" C6 L3 d$ e) a cin>>*(p+i); % W' Q* ^) @2 h8 d M9 c( X. j cout<<"输入误差值"<<endl; t6 ?& t# X( X/ g: Q double w; - o3 j$ ]( l7 m d* ?1 r- c A5 a cin>>w;1 X2 k9 N5 Y8 q- P cout<<"输入初始区间"<<endl; & z% \0 c8 W) I; F$ E cin>>a>>b; 7 z5 X( H1 S. R3 P cout<<"输入辨别常数"<<endl;8 H( A2 y, ]( M, J- T& Y- w cin>>c; , r1 v" e$ O; }: \; J n=r(w,a,b);# g. q2 e$ a! ?! d# A- { i=0;* j" ^) b5 t) R cout<<fi(n-i-2)<<endl; 0 K0 _* ]- V0 d, D cout<<a<<" "<<b; n9 k1 g% }. }" ^ G6 N: A6 z* J g=a+fi(n-2-i)*(b-a)/fi(n-i);0 c+ G/ A) E3 w- V8 N4 T$ R j=a+fi(n-1-i)*(b-a)/fi(n-i); ! T7 B8 Z2 l/ _) e& p1 d% Q) y6 N cout<<g<<" "<<j; 3 j- @$ \$ J& x5 k, i7 _$ ~ for(i=1;i<n-1;i++)% ^! L- n/ t! p4 a {/ }9 ?/ G! _: |" s) Z: N ( G& f( U" \; z. L2 w 8 i" @" q2 R* Z! Q: V4 E$ v- r if(fx(n,p,g)>fx(n,p,j))( ~3 s4 O+ l. r) _ { 3 z; ?% w+ {1 l+ b$ X* M P5 f a=g;! c% ^, o* I! k# S4 b" W& e# j4 w g=j; 8 u2 u4 B, Y0 A0 \6 W& W; b6 D j=a+fi(n-1-i)*(b-a)/fi(n-i);/ X' G3 e7 ]: W9 Y% i0 y$ c8 g } " c, E. M! a) p: P% K; r8 D( Q else 6 S. K: _/ K' p { ) Z2 I' g9 c# l* e b=j; 1 ^/ z ], P B& y( B1 T3 c: D j=g;6 U4 b$ [5 s8 p) S g=a+fi(n-2-i)*(b-a)/fi(n-i);. u b- a3 @# M' s( S9 _ }, S. h; u) R: P2 R8 H5 [ " V1 w& B9 [0 G& b }" o( ~4 T% y8 t3 } j=g+c; 3 ~! U) h3 J7 I3 u n if(fx(n,p,g)>fx(n,p,j))" q% v6 ~7 G9 z2 {$ A a=g;2 ~" b. A4 o+ m9 ]+ b, J else b=g; 3 {( T; B9 l/ N cout<<"函数值在 ("<<g<<","<<j<<")之间;"; * k; A4 ~- H0 b9 d. k8 } 4 E, j2 [9 X0 M& m/ t# g. N$ M}3 R* q6 K2 B* g( O


作者: 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
沙发,板凳都没偶的份了。
2 E+ }9 j2 |1 J9 Z1 M1 E+ h% J- R$ u/ U; p# [* Z
6 y1 |1 I! t4 H! l& S
$ X- L1 p% A, O; G3 \
/ @6 }" }4 x1 `$ l) K, K8 b7 U/ N

. O7 R, ~3 E4 v) Q: U9 r' f, Y" z: U* H

; d* l9 X, w/ f% k
! G4 C* S( [. c- D7 T3 P' R' u7 q" _0 v' X) }
% K2 n0 K' e9 v( c% {

0 B" ^0 V% _9 a/ \$ u
" R' l! i  r/ P" u
+ T, Z0 i; i' q9 l 淘宝专享地址:zhfqw.taobao.com/  {) C" c3 }' n) u1 Z- Q

! I! L9 Q% G8 f# D如何将宝贝卖向全世界           索马里论坛**598专卖2 S' W6 x& P" p5 T( _( r8 O

8 _. P' s* I( A
如何将宝贝卖向全世界           索马里论坛**598专卖
作者: lsyzzhl    时间: 2011-11-28 20:32

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

作者: 无语的昭昭    时间: 2015-2-4 10:17
c啊,,,,历害,,我一般用lingo的说5 i- D  ]# x, G/ Q; r





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