机械必威体育网址

找回密码
注册会员

QQ登录

只需一步,快速开始

搜索
查看: 1722 | 回复: 0
打印 上一主题 下一主题

请教MATLAB编程?

[复制链接]
跳转到指定楼层
1#
发表于 2015-11-21 23:09:14 | 只看该作者 回帖奖励 | 倒序浏览 | 阅读模式
优化设计老师布置用MATLAB对变尺度法进行MATLAB编程(也叫拟牛顿法),我是用拟牛顿法中的BFD法进行编程,程序如下:(问题在程序后面)5 d6 W( A8 ]; \# {2 n
function [r,n]=mulDFP(F,x0,B,eps)- Y" g9 t8 c9 z- R6 g2 X6 d- x
%用拟牛顿法中的DFP法中求极小点和极小值。9 h$ p5 N- n7 u% _0 ^9 g6 a
%Designed by GAO,Mechanical Engineering College
4 N/ x- e3 v2 w3 T9 e%Shenyang University of Technology* ]4 R7 z9 ~7 \5 O e. c K* v
%November,2015
6 J) j4 q8 ]3 f. ~: Q%调用格式:' R5 T N" p: ^5 j5 s
%syms x1 x2;
+ `& @8 F9 v& V' \! ?%z=表达式;
( i, h5 @! X1 N. t2 c7 B%zx1=simple(diff(z,x1)),zx2=diff(z,x2)3 l! }' @" l ?. V9 X; p3 b! E
%X0=[给定初始值];% I5 U* i- ~- I, w/ t8 I
%f=[zx1;zx2];
: D: {' H2 Q0 O+ V; g& a%[n,r]=mulDFP(f,x0)
4 j' W8 m/ L/ ~- O8 W- Eif nargin==2
6 g0 d5 [! d/ y3 Hl = length(x0);
% R- m! p0 u1 k6 |; ?B=eye(l); %A取为单位阵
0 x; A/ ?1 g& t8 j# ceps=1.0e-4;6 c; d' L/ o' @: x9 c
else& i5 c) O, g* Q* l' C* P
if nargin==3
$ s/ Q8 `0 I& p. h$ T4 p4 Zeps=1.0e-4;
) @# w! Y/ \" {2 u6 Q6 O0 ]end
* E/ l; C9 d/ d- @) j- Bend
7 I9 G; W G* ?0 {8 g" ~fx = subs(F,findsym(F),x0);
- a: o. L/ i5 `6 |. h5 z5 fr=transpose(x0)-B*fx;% K) v1 K, [7 P- a: r/ i- J1 ?
n=1;5 a6 {& R3 a# `
tol=1;
( { `3 j! c* [( j! Cwhile tol>eps3 q- }5 ^1 _' y/ Z+ ^
x0=r;7 `3 m$ I" o& b3 o
fx = subs(F,findsym(F),x0);, B+ T' m& F4 U' z$ T6 j2 d6 V0 M- z' S
r=x0-B*fx;+ m0 w6 S5 O x
y=r-x0;% b" w5 K( c/ L
fr = subs(F,findsym(F),r);
6 D1 E. y( H6 N, J, C$ t; tz = fr-fx;
9 i0 ^# o" q6 U$ J6 H# V6 l) gB1=B+ y*y'/(y'*z)-B*z*z'*B/(z'*B*z); %调整A! E, e0 q. b# x [" x R* ^: b9 x& Z
B=B1;* o- M+ @2 j" H! H3 z8 B
n=n+1;
7 |" t/ }: J7 Q9 y, ?/ c6 m/ vif(n>100000) %迭代步数控制* q) e/ |- H0 U4 G' R% o
disp('迭代步数太多,可能不收敛!');
$ D5 B1 C7 M6 @/ Z0 Qreturn;
$ J# ~0 [; z* w! Wend
A, e2 ]0 x/ x/ dtol=norm(r-x0);, \ [+ z# c2 Y/ H- q
end
. I) q( u" ~0 K5 n- _问题:这个程序我是通过其他方法改变来的,现在想在这个基础上增加一个求偏导的一个函数类似于“df=jacobian(f,[x1 x2]);%函数f的偏导”,可是加进去以后就会出现错误,改正好多次,都不行,后来实在不行我就加在了调用函数中,可是这么做,运行效率太低,唯恐老师会减分,所以希望各位前辈能给予实质性的指点,谢谢!
您需要登录后才可以回帖 登录| 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址(京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号)

GMT+8, 2024-5-6 14:05, Processed in 0.050656 second(s), 14 queries , Gzip On.

Powered byDiscuz!X3.4Licensed

? 2001-2017Comsenz Inc.

快速回复 返回顶部 返回列表