You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
Share 'Dynamic Optimization'
This book starts with a review of parameter optimization and then treats dynamic optimization, first with fixed final time and no constraints, next with terminal contraints, and finally with terminal constraints and open final time. This is followed by chapters on linear-quadratic problems and dynamic programming. The book concludes with chapters covering neighboring-optimal feedback control, inequality constraints, and singular problems.
For a full book description and ordering information, please refer to http://www.mathworks.com/support/books/book1532.jsp.
Cite As
Arthur Bryson (2025). Dynamic Optimization (https://www.mathworks.com/matlabcentral/fileexchange/2429-dynamic-optimization), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
- E02_3_3.m
- E02_4_1.m
- E02_4_1z.m
- E03_4_1.m
- E03_4_2.m
- E04_3_1.m
- E04_3_2.m
- E04_5_1.m
- E04_5_2.m
- E04_5_3.m
- E04_5_3n.m
- E04_5_4.m
- E04_6_1.m
- E04_6_2.m
- E04_6_3.m
- E04_7_1.m
- E04_7_2.m
- E04_7_3.m
- E05_2_3.m
- E05_5_2.m
- E08_2_1.m
- E08_3_1.m
- E08_7_2.m
- E09_3_1a.m
- E09_3_2.m
- E09_3_2a.m
- E09_3_2b.m
- F04_05.m
- F04_06.m
- F04_09m.m
- F06_08.m
- F06_10.m
- F08_13.m
- F08_16.m
- P10_2_3.m
- P10_3_3.m
- P10_3_3a.m
- P10_3_3b.m
- P1_2_02.m
- P1_2_03.m
- P1_2_04.m
- P1_2_05.m
- P1_2_11z.m
- P1_2_12.m
- P1_2_18.m
- P1_3_03.m
- P1_3_04.m
- P1_3_15.m
- P1_3_16.m
- P1_3_23.m
- P2_1_3a.m
- P2_2_2z.m
- P2_2_3a.m
- P2_5_6b.m
- P2_5_7b.m
- P2_5_7f.m
- P2_5_7n.m
- P2_6_17F.m
- P2_6_9F.m
- P2_6_9N.m
- P2_6_9b.m
- P2_7_1.m
- P2_7_17.m
- P2_7_2.m
- P2_7_22a.m
- P2_7_23A.m
- P2_7_23b.m
- P2_7_2a.m
- P2_7_4.m
- P2_7_5.m
- P2_7_6.m
- P3_1_03a.m
- P3_2_03a.m
- P3_2_09a.m
- P3_3_19b.m
- P3_3_19c.m
- P3_4_01.m
- P3_4_17.m
- P3_4_20b.m
- P3_4_21.m
- P3_4_22a.m
- P3_4_22b.m
- P3_4_23b.m
- P3_5_05b.m
- P3_5_05f.m
- P3_5_05n.m
- P3_5_09b.m
- P3_5_12b.m
- P3_6_04n.m
- P3_6_05n.m
- P3_6_06n.m
- P3_6_07n.m
- P3_6_08n.m
- P3_6_09n.m
- P3_6_11n.m
- P3_6_12n.m
- P3_6_22F.m
- P3_6_22b.m
- P3_6_22n.m
- P3_6_25b.m
- P3_6_25f.m
- P3_6_25n.m
- P4_2_01.m
- P4_2_02.m
- P4_2_03.m
- P4_2_03a.m
- P4_2_04.m
- P4_3_03.m
- P4_3_03a.m
- P4_3_06.m
- P4_3_06a.m
- P4_3_07.m
- P4_3_09.m
- P4_3_12.m
- P4_4_01.m
- P4_4_02.m
- P4_4_03.m
- P4_4_04.m
- P4_4_05.m
- P4_4_06.m
- P4_4_07.m
- P4_4_08.m
- P4_4_09.m
- P4_4_10.m
- P4_4_14.m
- P4_5_01.m
- P4_5_02.m
- P4_5_03.m
- P4_5_04.m
- P4_5_05.m
- P4_5_06.m
- P4_5_07.m
- P4_5_08.m
- P4_5_09.m
- P4_5_10.m
- P4_5_11.m
- P4_5_12.m
- P4_5_14.m
- P4_5_17.m
- P4_5_18.m
- P4_5_19.m
- P4_5_21.m
- P4_5_22.m
- P4_5_23.m
- P4_5_24.m
- P4_5_24a.m
- P4_5_25.m
- P4_6_06b.m
- P4_6_06f.m
- P4_6_06n.m
- P4_6_07b.m
- P4_6_07f.m
- P4_6_07n.m
- P4_6_09b.m
- P4_6_09f.m
- P4_6_09n.m
- P4_7_12b.m
- P4_7_12f.m
- P4_7_12n.m
- P4_7_17b.m
- P4_7_17f.m
- P4_7_17n.m
- P4_7_18b.m
- P4_7_18f.m
- P4_7_18n.m
- P4_7_21b.m
- P4_7_21f.m
- P4_7_21n.m
- P4_7_22b.m
- P4_7_22f.m
- P4_7_22n.m
- P4_7_23b.m
- P4_7_23f.m
- P4_7_23n.m
- P4_7_24b.m
- P4_7_24f.m
- P4_7_24n.m
- P5_2_04c.m
- P5_2_04e.m
- P5_2_06c.m
- P5_2_06d.m
- P5_2_06e.m
- P5_2_07c.m
- P5_2_07e.m
- P5_2_07f.m
- P5_2_08c.m
- P5_2_08d.m
- P5_2_08e.m
- P5_2_09c.m
- P5_2_09e.m
- P5_2_09f.m
- P5_2_10c.m
- P5_2_10e.m
- P5_2_10f.m
- P5_2_20a.m
- P5_2_20b.m
- P5_2_22.m
- P5_2_23.m
- P5_3_04.m
- P5_3_20.m
- P5_3_21.m
- P5_3_24.m
- P5_4_01.m
- P5_4_06.m
- P5_4_06a.m
- P5_4_06r.m
- P5_4_07.m
- P5_4_07r.m
- P5_4_09r.m
- P5_4_10a.m
- P5_4_10b.m
- P5_4_10r.m
- P5_4_16r.m
- P5_4_20.m
- P5_4_21.m
- P5_5_04.m
- P5_5_20.m
- P5_5_21.m
- P6_2_11.m
- P6_2_12.m
- P6_2_13.m
- P6_2_14.m
- P6_2_15.m
- P6_3_07.m
- P6_3_15.m
- P7_3_5E.m
- P7_3_6a.m
- P8_4_04.m
- P8_5_1.m
- P8_5_17.m
- P8_5_22a.m
- P8_5_23A.m
- P8_5_23b.m
- P8_5_4.m
- P8_5_5.m
- P8_5_6.m
- P8_7_1.m
- P8_7_2.m
- P8_7_3.m
- P9_2_1.m
- P9_2_3.m
- P9_3_08.m
- P9_3_13.m
- P9_3_14.m
- P9_3_14a.m
- ZERM_NOM.m
- airc_c(p,s0,Vc,lc)
- airc_f(p,s0,Vc,lc)
- calgld(t,s,flag,lx,ly)
- calgldt(sg,s,t,flg)
- calgldte(t,y)
- cantruss_c(p,W)
- cantruss_f(p,W)
- chkhess.m
- climb0(u,s,t,flg)
- climb0s(t,s)
- climb_c(p,N,Vo,ho,Vf,hf)
- climb_f(p,N,Vo,ho,Vf,hf)
- climbx0(al,s,t,flg)
- climbx0s(al,s,t,flg)
- clmb727(y)
- clmb_727(y,flg)
- clmb_727_c(p,flg)
- clmb_727_f(p,flg)
- cltn(y)
- cltn_c(y,ga,flg)
- cltn_f(y,ga,flg)
- contents.m
- cvrtj(A,B,Q,N,R,Ts)
- dblin_c(p,N)
- dblint(t,s,flg,am)
- dblint_c(p,s0)
- dblint_f(p,s0)
- dblint_s(t,s,flag,p)
- dfrmt_c(p,xf,yf)
- dfrmt_f(p,xf,yf)
- dgeo1(be,th0,phf)
- dgeo2(p,th0,thf,phf)
- dgeo2a(p,th0,thf,phf)
- dgeoc_c(be,th0,thf,phf)
- dgeoc_f(be,th0,phf)
- dgeoc_f(be,th0,thf,phf)
- dgeot(be,s,dt,t,flg)
- dgeot_c(p,th0,thf,phf)
- dgeot_f1(p,th0,thf,phf)
- dgeot_fa(p,th0,thf,phf)
- dip_mf(t,s)
- dop0b(sf,name,uf,s0,tf,N)
- dopbu(z0,name,s,la,dt,t)
- dopc(name,u,s0,tf,k,tol,mxit,eta)
- dopcb(p,name,uf,s0,tf,N)
- dopcn2(name,un,nu,s0,tf,tol)
- dopfu(p0,name,s,la,dt,t)
- drate(al,alm,eta)
- dtdp_c(th,s0,tf,N,gv,yf)
- dtdp_c(th,s0,tf,N,gv,yf)
- dtdp_f(th,s0,tf,N,gv,yf)
- dtdp_fz(th,s0,tf,N,gv,yf)
- dtdpgc(th,s,dt,t,flg)
- dtdpt_c(p,yf)
- dtdpt_c1(p,yf)
- dtdpt_f1(p,yf)
- dtdpt_fg(p,yf)
- dvdp_c(p,N,h)
- dvdp_f1(p,N,h)
- dzrm0z(u,s,dt,t,flg)
- dzrmt_f(p)
- e03_1_1.m
- e03_3_1.m
- e03_6_2.m
- e08_2_2.m
- e10_2_1n.m
- erzb_f(th0,xf)
- erzb_p(th0,xf)
- f02_11.m
- f02_12.m
- f03_02.m
- f03_04.m
- f03_05.m
- f03_08z.m
- f03_19.m
- f03_20.m
- f03_21.m
- f03_22.m
- f04_02.m
- f04_07.m
- f04_11.m
- f04_12.m
- f04_13.m
- f04_14.m
- f04_15.m
- f04_17.m
- f05_09.m
- f05_12.m
- f05_16.m
- f05_18.m
- f05_19.m
- f05_20.m
- f05_21.m
- f05_23.m
- f05_25.m
- f05_27.m
- f05_28.m
- f07_09.m
- f08_03.m
- f08_09.m
- f08_10.m
- f08_11.m
- f08_14.m
- f09_12.m
- f09_13.m
- f09_17.m
- f09_18.m
- f09_20.m
- f09_20m.m
- f09_22.m
- f09_23.m
- f10_04.m
- f10_13.m
- f10_13m.m
- f4_crus1(p,h)
- f4_cruse_c(p,flg)
- f4_cruse_f(p,flg)
- fop0(name,tu,u,tf,s0,k,told,tols,mxit)
- fop0_b(t,y,flag,tu,u,ts,s,name)
- fop0_f(t,s,flag,tu,u,name)
- fop0b(sf,name,s0,tf)
- fop0f(p,name,s0,tf)
- fop0n2(name,tu,uf,s0,tf,tol,mxit)
- fop0n2_b(t,y,flag,name,ts,uf,s)
- fop0n2_f(t,s,flag,name,tu,uf,K,sn)
- fopc(name,tu,u,tf,s0,k,told,tols,mxit,eta)
- fopc_b(t,y,flag,tu,u,ts,s,name,np)
- fopc_f(t,s,flag,tu,u,name)
- fopcf1(p,u0,s0,tf)
- fopcn(p,name,s0,tf)
- fopcnv(p,name,s0,tf,nc)
- fopt(name,tu,u,tf,s0,k,told,tols,mxit,eta)
- foptf(p,name,s0,nc)
- frm0y(u,s,t,flg)
- frm0ys(t,s)
- frmt_f(p,xf,yf)
- geo0y(u,s,t,flg)
- geo0ys(ph,s)
- geo1(u,s,t,flg)
- geoa(p)
- geoz(ph,th)
- gld0(al,s,t,flg)
- gld_c(p,s0)
- gld_f(p,s0)
- gld_s(t,s,flag,p)
- gldb_c(p,s0)
- gldb_f(p,s0)
- gldb_s(al,s,t,flg)
- gldce(t,y)
- glid1_c(p)
- glid1_f(p)
- glid_c(p,h0,V0)
- glid_f(p,h0,V0)
- hochb.m
- hochb_f(X,w,el,xe0,ye0)
- hochbps.m
- hochbps_f(X,w,el,xe0,ye0,ps)
- hochetf.m
- hochetf1(X,w,el,ts)
- hochs.m
- hochtf.m
- holdp(u,s,t,flg,xf)
- incantr(p,W)
- incantr_c(p,W)
- incantr_f(p,W)
- interpk(tk,K,t)
- invcantr(p,W)
- invp_c(p,th0,q0,N)
- invp_f(p,th0,q0,N)
- invp_f1(p,th0,q0,N)
- invtruss_c(p,W)
- invtruss_f(p,W)
- ip_c(ts,ep,umax)
- ip_c1(p,ep,umax)
- ip_c2(p,ep,umax)
- ip_f(p,ep,umax)
- ip_f(ts,ep,umax)
- ip_f1(p,ep,umax)
- ipe_c(p,s0)
- ipe_f(p,s0)
- ipen(u,s,t,flg)
- ipez(t,y,flag,ts,ep,umax)
- ipz(ts,ep,umax)
- lander.m
- lander_dyn(p,v0,Isp,Tmax)
- lander_sub(t,s,v0,Isp,Tmax)
- lapend(t,s)
- latturn.m
- latturn_c(p,s0,r0)
- latturn_f(p,s0,r0)
- latturn_s(u,s,t,flg)
- lqnmp(p)
- mar0(be,s,t,flg)
- mar0e(t,y)
- mar0s(t,s,flg,tn,ben,sn,K)
- marc0(be,s,t,flg)
- marc_c(be,s0,tf)
- marc_f(be,s0,tf)
- marce(t,y)
- marslin0(be,s,t,flg)
- marslin0e(t,y)
- marslinc(be,s,t,flg)
- mart_c(p,s0)
- mart_f(p,s0)
- mart_s(t,s,flag,p)
- maxalcte(t,y)
- maxalte(t,y)
- maxaltn(u,s,t,flg)
- maxaltnv(u,s,t,flg)
- maxclmb2(y)
- maxcltn1_f(p,ga,flg)
- maxcltn1_f(p,ga,flg)
- mdr_c(p,flg)
- mdr_f(p,flg)
- mehr.m
- mehr1.m
- mehr2.m
- mehra.m
- mehra1.m
- mehra1_c(p)
- mehra1_f(p)
- mehra_c(p)
- mehra_f(p)
- mfuel_c(p,N,v0,y0)
- mfuel_f(p,N,v0,y0)
- min_turn_c(p,ga,flg)
- min_turn_f(p,ga,flg)
- mindist(p)
- mindist_c(p)
- mindist_f(p)
- minfuel(p,xf,thf,tf)
- minfuela(t,s,flag,p)
- minfuelb(t,s)
- mintclm(u,s,t,flg)
- mintclm(u,s,t,flg)
- mintclte(t,y)
- minteclm(u,s,t,flg)
- minturn2(y)
- newton(u,el)
- nlpb_c(p)
- nlpb_f(p)
- odeh(name,u,s,tf)
- odehnuv(name,u,s,tf,nu)
- odeu(name,u,s0,tf)
- oscnmp(p)
- p10_2_2.m
- p10_3_1.m
- p1_2_06.m
- p1_3_06.m
- p2_3_7.m
- p2_4_7.m
- p2_7_3.m
- p2_7_8.m
- p2_7_9.m
- p3_4_19.m
- p4_4_16.m
- p4_5_16.m
- p4_7_16b.m
- p4_7_16f.m
- p4_7_16n.m
- p5_2_05a.m
- p5_2_05b.m
- p5_2_11m.m
- p5_2_21.m
- p5_2_24.m
- p5_2_24c.m
- p5_4_04.m
- p5_4_04a.m
- p7_3_7.m
- p7_7_3d.m
- p8_5_2.m
- p8_5_3.m
- p8_5_3a.m
- p8_5_8.m
- p8_5_9.m
- p8_7_6.m
- p8_7_9.m
- p9_3_02.m
- p9_3_03.m
- p9_3_04.m
- p9_3_04a.m
- p9_3_04b.m
- p9_3_04c.m
- p9_3_04d.m
- p9_3_04e.m
- p9_3_05.m
- p9_3_06.m
- p9_3_07.m
- p9_3_10a.m
- p9_3_11.m
- p9_3_11a.m
- p9_3_13a.m
- p9_3_13b.m
- p9_3_13m.m
- p9_3_15.m
- p9_3_16.m
- pend_c(p,th0,q0,N)
- pend_f(p,th0,q0,N)
- pop(name,y,k,tol,eta,mxit)
- popn(name,y,tol,mxit)
- qpilin_c(p,Q,R,G,c1)
- qpilin_f(p,Q,R,G,c1)
- rbclmb(u,s,t,flg)
- rbclmbe(t,y)
- rctelps2(y)
- readme.m
- rkt_c(p,N,hf)
- rkt_f(p,N,hf)
- robo(t,s,flag,mu,us0)
- robo1_c(p,mu,D)
- robo1_fg(p,mu,D)
- robot_c(p,N,D)
- robot_f(p,N,D)
- rosstest.m
- slbt2_c(y)
- slbt2_f(y)
- slbt_c(y,mu,flg)
- slbt_c1(y,ps)
- slbt_f(y,mu,flg)
- slbt_fz(y,mu,flg)
- snel(p,v1,v2,y1,y2,x2)
- snell_c(p)
- snell_f(p)
- stage.m
- stage_o(t,s)
- svic_c(p,N,el)
- svic_f(p,N,el)
- tdp0(th,s,t,flg)
- tdp0s(t,s)
- tdpc(th,s,t,flg)
- tdpcg(th,s,t,flg)
- tdpcgx(th,s,t,flg)
- tdpcx(th,s,t,flg)
- tdpgit(th,s,t,flg)
- tdpgt(th,s,t,flg)
- tdpit(th,s,t,flg)
- tdptgx(th,s,t,flg)
- tdpxt(th,s,t,flg)
- tlqh_b(t,y,flag,A,B,Q,N,R,Mf)
- tlqh_f(t,y,flag,A,B,t1k,K,uf)
- tlqhr(A,B,Q,N,R,tf,x0,Sf,Mf,psi,t1,tol)
- tlqs_b(t,y,flag,A,B,Q,N,R)
- tlqs_f(t,y,flag,A,B,tk,K,uf)
- trussa_c(p,W)
- trussa_f(p,W)
- tt_f(p,N,sf,uo)
- tt_fg(p,N,sf,uo)
- tto(d,u,s0,sfd)
- tvex1.m
- tvex1h.m
- tvex2.m
- tvex2_h(t,y)
- tvex_h(t,y)
- tvlqh(name,tf,s0,sf)
- tvlqs(name,tf,s0,Mf,Qf,psi)
- uh_60.m
- uh_60f.m
- vdp0y(u,s,t,flg)
- vdp0ys(t,s)
- vdpctd(ga,s,t,flg)
- vdpctd_c(p,a,tf,yf)
- vdpctd_f(p,a,tf,yf)
- vdpctdy(p)
- vdpctdy(p)
- vdpgtd_o(k,a,tf,t0)
- vdpgtdt(ga,s,t,flg)
- vdpgtdte(t,y)
- vdpt0y(u,s,t,flg)
- vdpt0ys(t,s)
- vdptd0(u,s,t,flg)
- vdptd0e(t,y)
- vdptd0y(u,s,t,flg)
- vdptd0ys(t,s)
- vdptdode(t,s,flg,p)
- vdpttd(ga,s,t,flg)
- yeo_pb.m
- zermc_f(p,tf,yf)
- zrm0_noc(t,ds,flg,tn,thn,sn,K)
- zrm0a(z,sf,yf,y0,tf)
- zrm0n2(uf,s,t,flg)
- zrm0y(th,s,t,flg)
- zrm_sina(t,s,flg,thf,tf)
- zrm_sine(t,y1)
- zrmpt(th,s,t,flg)
- zrmpt_f(p)
- zrmt_f(p)
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)