数学建模社区-数学中国
标题:
matlabd的fsolve函数求解方程组
[打印本页]
作者:
追梦人1101
时间:
2013-1-26 19:23
标题:
matlabd的fsolve函数求解方程组
function fun=Untitled6(x)
" k: Z4 B; X/ B0 S, V ?8 R
theta=pi/18;
; u) L& x6 W1 ], A: {9 U
k=0.97; %k为万向节的传输效率
# y/ c4 t; b7 M/ g. t
R=13; %R为轮子的半径
3 D g9 q: p( E/ A2 L
r=4;
; ~( l1 m3 x* D+ m9 z
D=250;
4 e/ F, Y8 j2 y) g! T; R! G: |
fr=0.2; %fr为轮子的滚动摩阻
7 Z; {" p$ x& f7 t) {
mu=0.4; %mu为轮与有机玻璃的摩擦系数
$ E5 U& k! K/ g, L3 ]
Wf=5; %Wf为电线所产生的负载
, [" l% C" t+ P! z# O U# P
G1=5;
4 {( @- A4 `4 ?4 Q$ I5 ]
G2=80; %G2为电机,导向装置和加工头的重力和N
7 B' i, z% C5 W1 ?# _: ^
alpha=11.5*pi/180;
5 }5 Y+ }: e E& F
beta=33.5*pi/180;
) u6 v a) g2 c% x
gamma=45*pi/180;
# R9 ^5 r0 {2 ], j, n
rho=1.205;%rho为气体密度kg/m3
* d' I/ J1 ]2 U" ?
V=300;%V为气体速度m/s
8 E( L* h Q- O. m/ `
d=10;
' G f6 v0 O. l
Q=V*pi*d^2/4;%Q为气体流量
: V4 ]6 U9 w( f- L: b4 [' U4 ^+ f* {
/ ?$ M3 _. ]! |: M9 @6 |
f1=x(1);
# N+ G3 K- D o8 ^, V
%f1为轮与管壁之间的滚动摩擦
7 ?& d1 T b( ~
f2=x(2);
+ N7 d$ O7 }0 X
%f2为轮与轮轴之间的摩擦
- ?7 ]; Y9 d; ]% y; G: C
Fp=x(3);
7 j; ]& q8 R! Q
% Hx为由于周向力引起的滑动趋势的摩擦力
) E3 m" s, W0 U& B7 d" P
Fx=x(4);
; h" w2 f. w& }6 B- Q$ B
%Hy为由于G和W引起的沿管道轴线方向滑动趋势的摩擦力
3 |0 l; c. B9 z4 \/ C0 i/ K5 i% G( E
Fy=x(5);
* I/ X9 j2 g% b- |% `: K6 u( m
%Fx为轴对轮的周向分力
2 Y; e. L% a2 y I
Fz=x(6);
. r! `) [; z7 i# K# h2 S( R1 {
%Fy为轴对轮沿管道轴线的分力
: s2 C9 N; g5 m" |7 e
Hx=x(7);
% w4 s3 r4 m- t$ W( j+ P5 x
%Fz为轴对轮沿管道径向的分力
4 |1 Q4 C) B3 q( m/ T( m" Y6 v" r% O. R: S
Hy=x(8);
( s# F$ k3 j! }2 t8 V
%Fp为牵引力分布在每个导向轮上的力
b! F5 X4 v4 W8 q. ?
Nz=x(9);
) J3 H# E) f( M/ a. D1 d$ V8 Z
Tm=x(10);
. s' o$ K% s" F- d5 N* l1 P
5 I- s7 l; \- u0 P. m1 c
7 }# b' j5 Q6 V/ K: |; ?, W' P
%Nx=x(9);
, }% A6 s, K" V1 x; b
%Nx为轴对轮的周向分力
& }7 r K, A+ j( W
%Ny=x(10);
9 P* {. J: n$ C6 X
%Ny为W和G在管道轴向的分力与滚动摩擦的和
" |* F' I* V. G
%f=x(11);
_8 f8 \4 V' i% x6 d+ l5 S
%f为由电机扭转和气体冲量引起的滚动趋势的摩擦力
I6 I3 w7 x% X7 f: |
. n; A( E' m3 [0 r0 T+ | u
fun(1)=Hy+(f1+f2)*sin(theta)-Fy;
3 e( m% {5 o! G, q+ u% _
fun(2)=(f1+f2)*cos(theta)+Fx-Hx;
8 y4 G2 t. F4 N3 U9 z% J9 X
fun(3)=Hy*sin(theta)*R+f1*R-Hx*R*cos(theta)+f2*r;
+ ~4 n4 ^3 {% w0 z, N
fun(4)=Hx^2+Hy^2-(mu*Fz)^2;
) d6 T2 z- Q/ N% {! |3 ^
fun(5)=k*Tm-3*Hx*D/2+3*f1*cos(theta)*D/2;
% M3 h- |6 ~- F! {9 t
fun(6)=k*Tm-3*Fx*D/2;
; s+ | l& c3 A+ G: _( N
fun(7)=Fp-(G2*cos(gamma)/6+Nz*fr/R+Wf/6);
0 P5 A, C, z. ^3 u2 }" q# e
fun(8)=(Tm+3*rho*Q*V*D/2)/(D*6/2)-mu*Nz;
4 _6 f2 @/ Y9 I1 D
fun(9)=2*Fp/cos(alpha)+G1*cos(beta)/3-Fy;
! e. e+ l U2 d
fun(10)=3/2*D*Fx/k-Tm;
; ]0 ?; ^- v2 n% c" F3 t0 P- k
! d$ w8 l1 B: T
5 \. O2 F* W; I1 i! }. d- R2 c
在求解时,matlab显示:
; n% Q( Y8 P- n1 U7 u/ |3 S0 i! i A
"Solver stopped prematurely.
P8 ~2 T4 b- k7 m3 o" K
fsolve stopped because it exceeded the function evaluation limit,
, ?2 J/ f: K& z4 G4 }2 K
options.MaxFunEvals = 1000 (the default value)."
6 x$ t! c W1 i2 J
即超过了fsolve函数的迭代次数限制(1000),该怎么解决呢?
作者:
o晴o
时间:
2017-8-26 10:08
' K1 l% A2 X7 f6 C; k/ Z& g
作者:
2249039642
时间:
2017-11-12 16:49
这个算的是啥问题,我觉得matlab解非线性真心不怎么行
, ]8 k0 P, B8 L: W( c" b
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5