机械必威体育网址

找回密码
注册会员

QQ登录

只需一步,快速开始

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

请教MATLAB编程?

[复制链接]
跳转到指定楼层
1#
发表于 2015-11-21 23:09:14 | 只看该作者 回帖奖励 | 倒序浏览 | 阅读模式
优化设计老师布置用MATLAB对变尺度法进行MATLAB编程(也叫拟牛顿法),我是用拟牛顿法中的BFD法进行编程,程序如下:(问题在程序后面)8 d- }8 ^2 |. G6 a9 ]6 t- y! R+ I
function [r,n]=mulDFP(F,x0,B,eps)$ S1 a6 `, V& q/ s. p, O
%用拟牛顿法中的DFP法中求极小点和极小值。
$ @8 u! r2 l- p+ e5 R$ \%Designed by GAO,Mechanical Engineering College! N" d9 T$ n7 }: [9 M$ }
%Shenyang University of Technology0 ^! w1 D; ?: R, b- s& ^
%November,20155 U5 _# x3 |7 R- S
%调用格式:
9 Q" |: G6 W- f5 T%syms x1 x2;8 o3 J$ E0 p# ]6 I: @" v
%z=表达式;
# X$ L5 r% D x+ \' P' \%zx1=simple(diff(z,x1)),zx2=diff(z,x2)
5 `* o: k1 f0 n7 f0 p4 z" `8 |$ l; y6 y3 k%X0=[给定初始值];
& U* T* E& T6 O7 G5 q%f=[zx1;zx2];
1 t: [! u- p: C. r7 X0 ]4 E%[n,r]=mulDFP(f,x0)' x. r5 k0 W( e
if nargin==28 i, c$ i3 T, Y
l = length(x0);
; Y1 M+ ]& b/ H/ TB=eye(l); %A取为单位阵0 k# Z1 j$ Y9 O {7 k; z0 `8 v
eps=1.0e-4;8 y7 T; I0 f9 t4 L6 Z4 F& \5 o
else
0 H2 ?5 f5 H' aif nargin==3
1 o* ^$ T6 V3 {6 X4 @$ D$ eeps=1.0e-4;% d7 w( l. u# ]+ q' C! P
end
& j- o* R1 b0 }" R8 ]end
9 P( s% W6 E E* lfx = subs(F,findsym(F),x0);
: c0 L: }5 ]0 q% m" ar=transpose(x0)-B*fx;
" F6 l1 x! H9 \4 E1 { b8 Wn=1;
) D6 }, Y* \3 {( @tol=1;
1 K, w0 t0 E: o* Mwhile tol>eps
: z" Y' D$ v) v9 x5 H. P, g. _x0=r;
( |* J O% B! |+ D+ v& S' ~3 pfx = subs(F,findsym(F),x0);
7 o& I3 h6 K: ur=x0-B*fx;
; ^, L0 W B7 q8 ?$ Cy=r-x0;
2 O2 p( m" A ^4 h! D% Hfr = subs(F,findsym(F),r);' h" C! B) j) ?4 d* R* @
z = fr-fx;
: P8 q8 W# d; d# E" ?B1=B+ y*y'/(y'*z)-B*z*z'*B/(z'*B*z); %调整A9 N' {6 A/ q# T) l' O
B=B1;8 E% E2 m$ p7 g4 G8 J
n=n+1;* \2 `- a: h' E5 l' [# v6 L
if(n>100000) %迭代步数控制
! \& a9 m2 X5 F; i/ n* zdisp('迭代步数太多,可能不收敛!');
, z# R: p. Y6 }, l' X! ^- j0 ireturn;
; p p1 P: a4 Qend
; b0 g* M! ]8 N, z; B: b. _7 ^tol=norm(r-x0);2 H4 c/ {! z) y# s* M
end0 B' z* a$ M" z4 b! l
问题:这个程序我是通过其他方法改变来的,现在想在这个基础上增加一个求偏导的一个函数类似于“df=jacobian(f,[x1 x2]);%函数f的偏导”,可是加进去以后就会出现错误,改正好多次,都不行,后来实在不行我就加在了调用函数中,可是这么做,运行效率太低,唯恐老师会减分,所以希望各位前辈能给予实质性的指点,谢谢!
您需要登录后才可以回帖 登录| 注册会员

本版积分规则

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

GMT+8, 2025-1-22 15:41, Processed in 0.047926 second(s), 13 queries , Gzip On.

Powered byDiscuz!X3.4Licensed

? 2001-2017Comsenz Inc.

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