亚洲欧美日韩国产一区二区精品_亚洲国产精品一区二区动图_级婬片A片手机免费播放_亚洲国产成人Av毛片大全,男女爱爱好爽好疼视频免费,中文日韩AV在线,无码视频免费,欧美在线观看成人高清视频,在线播放免费人成毛片,成 人 网 站 在 线 视 频A片 ,亚洲AV成人精品一区二区三区

機(jī)械社區(qū)

標(biāo)題: 請教MATLAB編程? [打印本頁]

作者: 展翅翱翔with    時(shí)間: 2015-11-21 23:09
標(biāo)題: 請教MATLAB編程,?
優(yōu)化設(shè)計(jì)老師布置用MATLAB對變尺度法進(jìn)行MATLAB編程(也叫擬牛頓法),,我是用擬牛頓法中的BFD法進(jìn)行編程,程序如下:(問題在程序后面)$ B! `( L$ Y& ?2 k2 V  A- K. S7 D
function [r,n]=mulDFP(F,x0,B,eps)
8 M$ w: ?* l8 K%用擬牛頓法中的DFP法中求極小點(diǎn)和極小值,。0 c, C% v& y2 I9 P! ^3 _3 ~( q0 T
%Designed by GAO,Mechanical Engineering College
0 d) j" f- ?6 b7 A$ Q: ]% ~%Shenyang University of Technology7 V2 F+ }% x; D) f$ _! Q& |  T
%November,2015
7 ~, @4 [3 W! _8 T0 W$ g%調(diào)用格式:
; Q" L' \0 f: ?%syms x1 x2,;. q$ W) X1 q5 I  _9 F
%z=表達(dá)式;
& N' ~% c- r$ j# u%zx1=simple(diff(z,x1)),zx2=diff(z,x2)
: u; P6 K+ b0 ?" c3 T2 S%X0=[給定初始值];% `) l% n( T9 d
%f=[zx1;zx2];
2 D% {* o; d* f, i%[n,r]=mulDFP(f,x0)
9 q4 C7 b' F' T  x+ I4 wif nargin==2+ G9 Y2 {" S1 N, a. @/ ^
l = length(x0);( K  H2 b* ]+ F9 s5 U* l# R
B=eye(l); %A取為單位陣: ^6 D/ K" k# t
eps=1.0e-4;7 A, C. C4 i/ f5 o1 n
else4 O0 Y! d0 T! R) M' E
if nargin==3
( ?' [! `* L+ b2 ]- [* v7 v1 ]eps=1.0e-4;
  k+ z2 V' G$ ]2 F6 Nend" }- m+ }- U  ?( F8 V
end1 w9 M# e. n+ v  U) C. E
fx = subs(F,findsym(F),x0);+ l- D8 g1 n) ?& Y
r=transpose(x0)-B*fx;7 C* R; j) a. }5 v
n=1;: v2 c" M. M2 ^4 f
tol=1;5 U7 d% `) D6 `  A. |4 C7 e
while tol>eps8 w2 f0 O) g6 B) x" B- J
x0=r;
$ i6 b" W0 K' D, e3 bfx = subs(F,findsym(F),x0);
4 V* ~6 `5 H1 ?r=x0-B*fx;
  j( F0 m+ ~' D3 q; x. by=r-x0;, w) T# i& a6 _* `' T& q& B
fr = subs(F,findsym(F),r);# t. B) O- k9 W
z = fr-fx;2 {8 }3 n: P  k" J5 p8 Q* ~
B1=B+ y*y'/(y'*z)-B*z*z'*B/(z'*B*z); %調(diào)整A0 ^9 w. D: p  c2 i3 I
B=B1;1 B, w0 X- v% b
n=n+1;
9 K& a% W0 }% L! H& B7 aif(n>100000) %迭代步數(shù)控制: f8 d8 R) z$ x5 i8 U' F' t
disp('迭代步數(shù)太多,可能不收斂,!');
" M9 t2 A5 t2 ?* o. y0 t* Yreturn;
# S" C# g1 [0 `- k( Tend1 {* ~) I6 }8 ]* G5 r" d
tol=norm(r-x0);' d3 U0 P1 X1 N- I
end! W! o6 @: w4 z3 N2 M' L
問題:這個(gè)程序我是通過其他方法改變來的,,現(xiàn)在想在這個(gè)基礎(chǔ)上增加一個(gè)求偏導(dǎo)的一個(gè)函數(shù)類似于“df=jacobian(f,[x1 x2]);%函數(shù)f的偏導(dǎo)”,,可是加進(jìn)去以后就會(huì)出現(xiàn)錯(cuò)誤,改正好多次,,都不行,,后來實(shí)在不行我就加在了調(diào)用函數(shù)中,可是這么做,,運(yùn)行效率太低,,唯恐老師會(huì)減分,所以希望各位前輩能給予實(shí)質(zhì)性的指點(diǎn),,謝謝,!




歡迎光臨 機(jī)械社區(qū) (http://giwivy.com.cn/) Powered by Discuz! X3.4