数学建模社区-数学中国
标题:
matlabd的fsolve函数求解方程组
[打印本页]
作者:
追梦人1101
时间:
2013-1-26 19:23
标题:
matlabd的fsolve函数求解方程组
function fun=Untitled6(x)
/ d! p T2 o" s7 L
theta=pi/18;
5 f# G1 R3 Y" e& E, V2 U
k=0.97; %k为万向节的传输效率
5 |& Z9 X) b/ D9 [% o+ h3 I
R=13; %R为轮子的半径
7 j, m" }- Y+ j# U
r=4;
) V0 F/ f, b9 W6 q- m% F1 K
D=250;
) V2 ^- |' x0 Y
fr=0.2; %fr为轮子的滚动摩阻
6 K* l, I/ S" p# ]' L" W
mu=0.4; %mu为轮与有机玻璃的摩擦系数
/ S- j2 |% v" B9 U0 \
Wf=5; %Wf为电线所产生的负载
0 V+ a7 j' w+ \1 z5 e8 j
G1=5;
" e4 o f1 P4 I9 g0 Q$ ^2 L/ y
G2=80; %G2为电机,导向装置和加工头的重力和N
" o; w, l; r, o/ M' Q. U7 o+ b3 y
alpha=11.5*pi/180;
5 Q5 F: x# n' w$ k
beta=33.5*pi/180;
* c' R) r, d! D6 ~
gamma=45*pi/180;
" W8 z9 S6 H; h. N) I1 w
rho=1.205;%rho为气体密度kg/m3
; \( V8 o% C/ M- E- H! J
V=300;%V为气体速度m/s
! y& V& g7 @2 \7 D, W) e. f9 [
d=10;
# |" M! _9 [& [/ _1 |
Q=V*pi*d^2/4;%Q为气体流量
* h& t; G: r9 c7 P' h# k
% l2 f! L- Q2 ?/ r- \4 h
f1=x(1);
, s1 c1 a7 `3 q8 N
%f1为轮与管壁之间的滚动摩擦
( e% ~; q6 S* n/ F* j! o8 A
f2=x(2);
7 B6 H5 l' D7 U0 l+ Y. w! ~3 t
%f2为轮与轮轴之间的摩擦
5 f9 G! B# S7 u7 U6 j7 @8 z P. y
Fp=x(3);
* c) J$ y! R0 |# q4 `( @1 R
% Hx为由于周向力引起的滑动趋势的摩擦力
6 |3 Z( N6 R ~) S. j
Fx=x(4);
: Y2 ^3 f6 T, S& H
%Hy为由于G和W引起的沿管道轴线方向滑动趋势的摩擦力
6 B% w7 U& j" o; ^" o" B+ N
Fy=x(5);
3 ?# D1 U5 _+ ?7 P# x. n
%Fx为轴对轮的周向分力
* F- F6 _: p8 x) ~6 ~) P
Fz=x(6);
( @! l' U! A. b! ^5 Q; ]6 E
%Fy为轴对轮沿管道轴线的分力
/ \6 O" L" \2 _- v
Hx=x(7);
! n P8 C9 p3 y' R! j1 h% W7 E1 I: G
%Fz为轴对轮沿管道径向的分力
8 X' g$ z) ]' f5 x, z
Hy=x(8);
9 N: C" {4 T. K3 _" {
%Fp为牵引力分布在每个导向轮上的力
H. F& s7 u6 U$ d6 I
Nz=x(9);
8 l- u2 W, ~5 x6 Q6 a
Tm=x(10);
- y3 v( J2 s& ~ X: ]: F
1 h1 m0 {/ t) @! W. m
! h5 ~+ w% o6 k3 X
%Nx=x(9);
1 H, |# p% a, u. p, d9 K
%Nx为轴对轮的周向分力
2 V, _: W1 M# S) Q7 V, U M4 ]
%Ny=x(10);
b2 j0 A5 s5 \ n
%Ny为W和G在管道轴向的分力与滚动摩擦的和
0 r. @' e2 r W
%f=x(11);
' A+ z. q$ Z/ b: E
%f为由电机扭转和气体冲量引起的滚动趋势的摩擦力
+ H; c' |) j1 N$ m$ d" @, c$ _6 V
) a- Y( ~& v5 ~; ?
fun(1)=Hy+(f1+f2)*sin(theta)-Fy;
0 b/ h9 N4 s; L" f+ b, A2 |
fun(2)=(f1+f2)*cos(theta)+Fx-Hx;
' u2 G q- U) p7 i2 j
fun(3)=Hy*sin(theta)*R+f1*R-Hx*R*cos(theta)+f2*r;
' X8 V* ?- C$ P \" m
fun(4)=Hx^2+Hy^2-(mu*Fz)^2;
' |" W9 d' H# ]8 Y3 o. ^0 k. ? G
fun(5)=k*Tm-3*Hx*D/2+3*f1*cos(theta)*D/2;
5 X5 N% x0 _7 Y) S: v( c
fun(6)=k*Tm-3*Fx*D/2;
6 X# c. u7 p, [9 F" D2 U. o9 D
fun(7)=Fp-(G2*cos(gamma)/6+Nz*fr/R+Wf/6);
, v: {' |, A6 N$ J& Q5 X3 w
fun(8)=(Tm+3*rho*Q*V*D/2)/(D*6/2)-mu*Nz;
8 _* m( \ H& c9 L% N/ e; ?% m
fun(9)=2*Fp/cos(alpha)+G1*cos(beta)/3-Fy;
8 U/ b# F7 @; k3 B+ ?) ^2 }
fun(10)=3/2*D*Fx/k-Tm;
" q% ?/ P. k8 b, t1 z' H% q+ d
/ r+ i6 _) c! F) U) X$ J$ z
4 J1 ^- d& Q; d f2 Y
在求解时,matlab显示:
0 `( r" z% B+ T
"Solver stopped prematurely.
2 `. P- g6 u: ~8 B: F, D
fsolve stopped because it exceeded the function evaluation limit,
" H) Y( |! c. _. m/ M
options.MaxFunEvals = 1000 (the default value)."
; A/ N& L% U3 x+ Q2 o6 ^. ^
即超过了fsolve函数的迭代次数限制(1000),该怎么解决呢?
作者:
o晴o
时间:
2017-8-26 10:08
% a2 Z" x1 I. q7 X' ~& j& ~" \! ]
作者:
2249039642
时间:
2017-11-12 16:49
这个算的是啥问题,我觉得matlab解非线性真心不怎么行
- b7 Y# \5 G& w. u4 @. `5 h
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5