数学建模社区-数学中国
标题:
matlabd的fsolve函数求解方程组
[打印本页]
作者:
追梦人1101
时间:
2013-1-26 19:23
标题:
matlabd的fsolve函数求解方程组
function fun=Untitled6(x)
. w' s: W; K3 I# T
theta=pi/18;
; s& G M) ]" l; i
k=0.97; %k为万向节的传输效率
! S: l0 X+ x$ X$ @
R=13; %R为轮子的半径
5 `& X) F6 ?$ K
r=4;
! o N2 j% V: x0 z' r1 y
D=250;
* e" W: j m# ~% Y, X* h% O
fr=0.2; %fr为轮子的滚动摩阻
; t" H' k4 v2 s5 P+ v9 }
mu=0.4; %mu为轮与有机玻璃的摩擦系数
/ W0 `* g8 }* R4 o
Wf=5; %Wf为电线所产生的负载
! D4 {' h0 J$ h3 Q9 w
G1=5;
1 ] M T# C/ x- }( T/ R
G2=80; %G2为电机,导向装置和加工头的重力和N
- C0 _, E# }! \. }
alpha=11.5*pi/180;
; T6 L; p0 x0 u) \# @3 y
beta=33.5*pi/180;
' Z6 U9 y1 J2 X- N
gamma=45*pi/180;
- ?1 y% \5 ]5 n
rho=1.205;%rho为气体密度kg/m3
) f1 ]: G1 G. Y, f9 n
V=300;%V为气体速度m/s
5 b8 i+ o6 t, p. q% u& |2 X
d=10;
3 C& M5 T6 g* W! r+ i$ w
Q=V*pi*d^2/4;%Q为气体流量
( S0 D* A. z' z/ }2 l. z5 K
5 Y s6 d2 v9 ?' Y6 s- _) r
f1=x(1);
1 U* M/ c- e8 r
%f1为轮与管壁之间的滚动摩擦
/ G4 n% a3 Y7 e! _! f
f2=x(2);
% h+ l6 p5 x1 h+ t. ^0 D! S
%f2为轮与轮轴之间的摩擦
: w a- {0 }, p* n# D$ y* z' h- z
Fp=x(3);
; A5 N! t& p5 L+ M+ g% D
% Hx为由于周向力引起的滑动趋势的摩擦力
* L i3 f8 v# Q
Fx=x(4);
5 M5 G8 y% }' r! D
%Hy为由于G和W引起的沿管道轴线方向滑动趋势的摩擦力
5 [& ^/ J! N/ T+ x* b
Fy=x(5);
. Q9 {( r5 G" x- S4 i
%Fx为轴对轮的周向分力
- p. X, t, ~& K
Fz=x(6);
/ V/ Q1 U8 X( g- K7 t+ h
%Fy为轴对轮沿管道轴线的分力
; q# T. g5 o2 a+ `
Hx=x(7);
" @* s+ D/ k4 \# A5 Y
%Fz为轴对轮沿管道径向的分力
. L( g, B& \8 H @; Q9 T
Hy=x(8);
; ~6 r) O2 P$ F$ L- V, i
%Fp为牵引力分布在每个导向轮上的力
% D! q8 t' L) ?& Y9 v; R$ H8 u
Nz=x(9);
' C+ ~$ Y$ G% ~6 [) `
Tm=x(10);
7 a6 s# t5 W' B( Y5 x& s
2 d9 C8 X* W$ P2 g2 X
. j0 j& D6 Q# E+ a( n
%Nx=x(9);
0 B" [) `- t4 ?# }) S7 [
%Nx为轴对轮的周向分力
2 F8 j! S& @4 n2 U' k# W9 o1 x$ J
%Ny=x(10);
; b( z& k. O; x8 B! ^9 W
%Ny为W和G在管道轴向的分力与滚动摩擦的和
, A s4 P* {% y
%f=x(11);
3 ~0 D a. }; o
%f为由电机扭转和气体冲量引起的滚动趋势的摩擦力
0 S& p& ^: k9 G4 G
# s x D7 p4 j1 b7 e
fun(1)=Hy+(f1+f2)*sin(theta)-Fy;
$ u" U3 R/ z5 P0 s' B- w1 A
fun(2)=(f1+f2)*cos(theta)+Fx-Hx;
4 M7 A# a9 U% T: v) D7 e: D
fun(3)=Hy*sin(theta)*R+f1*R-Hx*R*cos(theta)+f2*r;
. F( c; o" X1 g9 O
fun(4)=Hx^2+Hy^2-(mu*Fz)^2;
( |0 j4 A4 A( Z% u8 S# d
fun(5)=k*Tm-3*Hx*D/2+3*f1*cos(theta)*D/2;
" B9 l7 j" l! r7 |* a! e( @
fun(6)=k*Tm-3*Fx*D/2;
, _( Y% c6 ]1 r3 H; x7 r( A
fun(7)=Fp-(G2*cos(gamma)/6+Nz*fr/R+Wf/6);
}- l, ^8 f0 O! \; W+ A/ o V
fun(8)=(Tm+3*rho*Q*V*D/2)/(D*6/2)-mu*Nz;
: [3 D. O4 w5 m
fun(9)=2*Fp/cos(alpha)+G1*cos(beta)/3-Fy;
~1 }7 k1 H1 P% `
fun(10)=3/2*D*Fx/k-Tm;
" W6 b, P/ v) z7 v
$ h% V3 ]% c( b1 C' d: A
( k9 K& K3 R) D' ]0 l) f
在求解时,matlab显示:
6 D) I" m2 B, x W
"Solver stopped prematurely.
: [3 ?& M: Q9 g. i& q# S
fsolve stopped because it exceeded the function evaluation limit,
$ }# z+ |7 G4 s2 x
options.MaxFunEvals = 1000 (the default value)."
1 G5 T3 i. y; E7 r6 c
即超过了fsolve函数的迭代次数限制(1000),该怎么解决呢?
作者:
o晴o
时间:
2017-8-26 10:08
1 g# t; ?# e6 c' O3 ^% X5 F
作者:
2249039642
时间:
2017-11-12 16:49
这个算的是啥问题,我觉得matlab解非线性真心不怎么行
5 R1 o+ e, [- a6 A2 c# B
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5