数学建模社区-数学中国
标题:
matlabd的fsolve函数求解方程组
[打印本页]
作者:
追梦人1101
时间:
2013-1-26 19:23
标题:
matlabd的fsolve函数求解方程组
function fun=Untitled6(x)
- N! z- B! F" ^/ U+ M; m# s' a& c7 w
theta=pi/18;
8 r3 ?8 f; P% O+ k
k=0.97; %k为万向节的传输效率
8 z A7 X' V' _4 |
R=13; %R为轮子的半径
: O& w; M, c0 o' S9 n) i1 a5 u, R
r=4;
: `- C3 K4 C- ?0 S; d: \) X6 N
D=250;
* p. e% f- v& ^% @; |
fr=0.2; %fr为轮子的滚动摩阻
" G3 ]2 q" q: i8 z4 n; w
mu=0.4; %mu为轮与有机玻璃的摩擦系数
4 k7 q7 p/ X; f1 x7 `* Q2 b4 C
Wf=5; %Wf为电线所产生的负载
. s) y0 M- `( B- J
G1=5;
4 ?4 c( a g9 T8 X. x {+ v
G2=80; %G2为电机,导向装置和加工头的重力和N
4 y. C/ X' k6 A& ~2 q, R: Y! f
alpha=11.5*pi/180;
5 ^1 C9 |6 W- ^6 U; X) O5 C
beta=33.5*pi/180;
: r: b: i6 Z& _: ]0 y" @
gamma=45*pi/180;
) P# O) F' n6 y+ C
rho=1.205;%rho为气体密度kg/m3
1 U$ N& o9 P# L; d; w" L+ u l
V=300;%V为气体速度m/s
" P7 W* ~! g9 U8 Y4 ]; V
d=10;
3 \3 |* y5 [$ j! {
Q=V*pi*d^2/4;%Q为气体流量
1 v4 }# A6 |- J) ?
2 P$ w N# F$ b2 ]! z" b; `
f1=x(1);
0 R5 N' H( @" F( F @4 X# E
%f1为轮与管壁之间的滚动摩擦
; n- W1 V$ v; L. T* x5 ?
f2=x(2);
$ E7 A" r- U. m7 O+ m
%f2为轮与轮轴之间的摩擦
0 h8 G7 c# n0 b/ w
Fp=x(3);
, U7 Y5 @( |. k" q6 L$ z ~- p; ^% J
% Hx为由于周向力引起的滑动趋势的摩擦力
* G8 Y) O' j# R0 t
Fx=x(4);
# M/ o# V2 t3 ?
%Hy为由于G和W引起的沿管道轴线方向滑动趋势的摩擦力
* k' [! a9 U/ o
Fy=x(5);
/ P2 J) R( p8 r2 L$ M+ D: j
%Fx为轴对轮的周向分力
2 l* k0 b( W! k1 q9 h
Fz=x(6);
9 {* P! ~6 y- H# }- I+ Z1 p
%Fy为轴对轮沿管道轴线的分力
9 q# C! k d/ r, A
Hx=x(7);
5 z- o" s2 |1 }+ T4 A+ _
%Fz为轴对轮沿管道径向的分力
- [' E6 V/ n3 ?7 ^3 T
Hy=x(8);
' H; Q# a2 Z3 M9 e
%Fp为牵引力分布在每个导向轮上的力
. K- g6 |' S7 U8 z
Nz=x(9);
$ D* N3 x: [# M9 c' Y
Tm=x(10);
( j9 m/ G7 H2 g0 @( x- U$ G
' p0 W2 H$ d3 S+ A+ n2 C
$ n6 Y; g9 T5 n9 }# q0 `
%Nx=x(9);
6 p& z' t$ e. j- `9 a7 n
%Nx为轴对轮的周向分力
; Y) u& Q0 E' T: I& A$ }5 f
%Ny=x(10);
; J# p I \ c+ `
%Ny为W和G在管道轴向的分力与滚动摩擦的和
5 L8 y% ^9 G& R" e
%f=x(11);
/ B7 n( z) z @9 }" k
%f为由电机扭转和气体冲量引起的滚动趋势的摩擦力
+ y6 l, h6 I! i6 O. m, t4 @
. m" _' S. ~' A, c
fun(1)=Hy+(f1+f2)*sin(theta)-Fy;
, X6 P" V- j2 l5 k. P1 b
fun(2)=(f1+f2)*cos(theta)+Fx-Hx;
) w: |) g' |$ S$ L5 T) Q5 J
fun(3)=Hy*sin(theta)*R+f1*R-Hx*R*cos(theta)+f2*r;
# U2 P: q. b0 \1 A: w0 b0 O3 e
fun(4)=Hx^2+Hy^2-(mu*Fz)^2;
0 j( n" s& I" V+ z6 e+ j, G
fun(5)=k*Tm-3*Hx*D/2+3*f1*cos(theta)*D/2;
6 D- v3 G' v( z) f5 m9 p J
fun(6)=k*Tm-3*Fx*D/2;
2 ~/ U" a( W6 k6 x! E( y5 ^7 \
fun(7)=Fp-(G2*cos(gamma)/6+Nz*fr/R+Wf/6);
9 U2 i6 X: \$ n+ w) T4 Y
fun(8)=(Tm+3*rho*Q*V*D/2)/(D*6/2)-mu*Nz;
# E2 j/ Q; a4 e) K
fun(9)=2*Fp/cos(alpha)+G1*cos(beta)/3-Fy;
1 E9 o* `9 h! V- l+ d9 q
fun(10)=3/2*D*Fx/k-Tm;
( ?5 e# M: |: L% `; y- p2 b& |7 u
2 o( q9 z. ?' ]' X# D/ C
: |, F! ]- ?5 c. `0 d3 r
在求解时,matlab显示:
7 L/ W7 F/ B+ f+ c: ^
"Solver stopped prematurely.
4 s9 k* ~% h$ |
fsolve stopped because it exceeded the function evaluation limit,
- J; t+ u: c8 U( h" E1 E+ a, {
options.MaxFunEvals = 1000 (the default value)."
" J8 D) M% w, L5 A( J, m$ w T
即超过了fsolve函数的迭代次数限制(1000),该怎么解决呢?
作者:
o晴o
时间:
2017-8-26 10:08
; s, J7 X9 y* H8 E
作者:
2249039642
时间:
2017-11-12 16:49
这个算的是啥问题,我觉得matlab解非线性真心不怎么行
, K& U' g: C; ]5 P
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5