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

機械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 2154|回復(fù): 0
打印 上一主題 下一主題

請教MATLAB編程,?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2015-11-21 23:09:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
優(yōu)化設(shè)計老師布置用MATLAB對變尺度法進行MATLAB編程(也叫擬牛頓法),我是用擬牛頓法中的BFD法進行編程,程序如下:(問題在程序后面)
: z% y" z5 x, j" M' E5 Y: l. n. _6 Jfunction [r,n]=mulDFP(F,x0,B,eps)  \- {: u4 K9 {# @
%用擬牛頓法中的DFP法中求極小點和極小值。" ^5 n1 W: N* ^
%Designed by GAO,Mechanical Engineering College
$ i8 i& g7 z. N8 j7 k" B%Shenyang University of Technology
* g& H/ z' I, x! u4 [- c%November,20159 B- Y6 w& {2 l2 I, |* d$ v5 F
%調(diào)用格式:  q9 B! L! m2 y
%syms x1 x2;
3 d! X) ^+ f' }1 Y%z=表達式;3 O; B: M- G+ q
%zx1=simple(diff(z,x1)),zx2=diff(z,x2)
2 ]& V7 U) w. u# b# W. b%X0=[給定初始值];7 i( C! [" {3 ]7 O; ^8 }% i
%f=[zx1;zx2];
$ V, c) B4 V5 L4 ?. L%[n,r]=mulDFP(f,x0)
/ G. @3 a3 B9 i: [. a, `if nargin==2+ E! k9 `2 `# f8 ?
l = length(x0);
2 J' J% X% q7 L) }1 F$ aB=eye(l); %A取為單位陣& p: J3 T5 k# J2 d: O' b, l! r
eps=1.0e-4;2 v) l9 f8 |6 v8 I' f4 L2 l
else$ v' [. ]" W1 w
if nargin==3
3 l# p5 q% V' a. oeps=1.0e-4;
6 j( C1 i7 E3 f* Y5 d6 s' U0 Kend
  r4 }1 c; N: n% S# f6 A( c0 ?( |end: A1 J' q7 K2 R  R6 U# A
fx = subs(F,findsym(F),x0);
" a- S0 S. r% U9 v. A1 H, @r=transpose(x0)-B*fx;3 p9 I5 ]" ]: h. l1 L  K
n=1;2 f- q5 y1 p7 h8 o
tol=1;7 r0 ^- a! M/ h% e2 i% g
while tol>eps6 c7 |8 N( A: r4 o* X5 ~
x0=r;! S7 t8 r, E1 L4 R, |
fx = subs(F,findsym(F),x0);
1 Y5 b# ~( X( o# ir=x0-B*fx;
3 T- n* h3 N* @; K4 v4 Fy=r-x0;' @2 Q5 T4 p1 g/ |5 E
fr = subs(F,findsym(F),r);
) d; J% ^' h3 W0 h" g# qz = fr-fx;
9 E" R: ?% Q! KB1=B+ y*y'/(y'*z)-B*z*z'*B/(z'*B*z); %調(diào)整A
( v) u' J& Z- l. YB=B1;' I0 _! @4 w: `/ t2 ^+ c+ M
n=n+1;
$ s8 Z+ x" K. qif(n>100000) %迭代步數(shù)控制: r/ M( _" E8 i: ~
disp('迭代步數(shù)太多,,可能不收斂,!');7 k0 k1 u1 R7 J  \
return;8 a, s* w  s8 B( n
end
& L+ H2 c: v; ptol=norm(r-x0);+ ^3 h5 Y  i- Z8 t
end& g6 u1 c. a. R; m& R
問題:這個程序我是通過其他方法改變來的,現(xiàn)在想在這個基礎(chǔ)上增加一個求偏導(dǎo)的一個函數(shù)類似于“df=jacobian(f,[x1 x2]);%函數(shù)f的偏導(dǎo)”,,可是加進去以后就會出現(xiàn)錯誤,,改正好多次,都不行,,后來實在不行我就加在了調(diào)用函數(shù)中,,可是這么做,運行效率太低,,唯恐老師會減分,,所以希望各位前輩能給予實質(zhì)性的指點,謝謝,!
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機版|Archiver|機械社區(qū) ( 京ICP備10217105號-1,,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-2-24 11:55 , Processed in 0.053709 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表