亚洲欧美日韩国产一区二区精品_亚洲国产精品一区二区动图_级婬片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 Technology
7 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 w
if 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
else
4 O0 Y! d0 T! R) M' E
if nargin==3
( ?' [! `* L+ b2 ]- [* v7 v1 ]
eps=1.0e-4;
k+ z2 V' G$ ]2 F6 N
end
" }- m+ }- U ?( F8 V
end
1 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>eps
8 w2 f0 O) g6 B) x" B- J
x0=r;
$ i6 b" W0 K' D, e3 b
fx = subs(F,findsym(F),x0);
4 V* ~6 `5 H1 ?
r=x0-B*fx;
j( F0 m+ ~' D3 q; x. b
y=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)整A
0 ^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 a
if(n>100000) %迭代步數(shù)控制
: f8 d8 R) z$ x5 i8 U' F' t
disp('迭代步數(shù)太多,可能不收斂,!');
" M9 t2 A5 t2 ?* o. y0 t* Y
return;
# S" C# g1 [0 `- k( T
end
1 {* ~) 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