数学建模社区-数学中国

标题: 求解4000*x1+3000*x2+2000*x3=30000的自然数解程序 [打印本页]

作者: mudan    时间: 2012-10-29 16:54
标题: 求解4000*x1+3000*x2+2000*x3=30000的自然数解程序
  1. for x1=1:135 L, k/ @- X- h; L
  2.     for x2=1:13$ ^) e/ s4 S( j+ ?: Y! I
  3.         x3=(30000-4000*x1-3000*x2)/2000;( [' e/ E; {" H* W0 a: N
  4.         m=13-x3-x1-x2;
    4 L* B+ Y9 s/ t, G8 e! E
  5.         if sign(x3)>=0 &  rem(x3,1)==0 & sign(m)==0  : J1 T+ D9 Q0 [
  6.             disp([x1,x2,x3])" j) ]) h/ z! a, h7 h
  7.         end
    / J3 S% S# |8 |+ y
  8.     end" ~% f/ r, p2 w. {7 p
  9. end
复制代码

作者: madio    时间: 2012-10-30 06:38
rem这个函数可以换为mod,容易知道一些!
/ w0 T5 I' Y( ~5 P( \- Nmatlab中的rem()和mod()函数matlab的rem()和mod()函数2 m3 g( ^: f7 ]/ e
rem(x,y):求整除x/y的余数! @) Z' D/ L; h" L- D+ o
+ D& N+ E  d0 k& G; N
mod(x,y):求模7 U' n# M3 e& k/ v2 a
3 N% W3 e/ M  I  @" w

$ r3 ^/ Y% L6 _; b2 F- C6 X+ J- N% ?6 }# c/ `
rem(x,y)=x-y.*fix(x./y);  (fix()向0取整). b' O" `& I% D+ o$ V8 a4 Q- ~
' ]: d+ Z& ^! [3 K, r8 [$ ?
mod(x,y)=x-y.*floor(x./y); (floor()向左取整)
) j# K' K2 f4 w$ f0 ~
7 v: A7 }7 Y& M& }  ^如果x和y的符号相同(同为‘+’,同为‘-’),那么rem(x,y)=mod(x,y)(正数与正数,负数与负数,取整结果两个函数效果一样)9 ^- }. V% `1 @$ L
8 b8 ?1 D$ h2 d
如果x和y的符号相反,那么mod(x,y)=rem(x,y)+y(正数与负数的取整,看你希望得到什么结果就选择用什么函数)
; X! X& p2 b# }; n% g# d# D( J$ C4 o2 [7 H9 {
当正数与负数取余时,当得到的余数结果的符号希望跟除数(x)一样,用rem()函数;当得到的余数结果的符号希望跟被除数(y)一样,用mod()函数$ r5 H. [3 T0 J; @  S

: r& l' m' X% b2 a2 a) E! M& `例如:
/ M2 z! n& i! Y  K- j) ^
' g; H* G+ D. }% a. K7 U* irem(3,2)=1;mod(3,2)=1;# d9 }8 {' P- T! h' z7 D. M

! f3 O! X( e  t6 n  V! Mrem(-3,-2)=-1;mod(-3,-2)=-1;+ _; w2 j; p! }! x

3 [6 S0 F- x6 z% N) Q  lrem(3,-2)=1;mod(3,-2)=-1;4 B: s( B) {5 ~& T* T3 g! A
" `+ Y; M6 P9 I) O% T
rem(-3,2)=-1;mod(-3,2)=1;4 a/ _# m- Y- ?$ Z" n

# C+ F! A6 |/ ^# r % w! r; }! @! B5 \' @- Z

2 h1 V$ f; M7 i8 ]) {# r- j5 u: Ymod(3,2)=rem(3,2)=1;  D" O: |* d- R1 g# v' r# x- ^! l( {* ?
) E( a# I0 O8 S5 N$ n8 W$ l
mod(3,-2)=rem(3,-2)-2=1-2=-1;/ D- k+ s% B4 x/ ~; u

, v( Y3 M* M# d* G$ hmod(-3,2)=rem(-3,2)+2=-1+2=1;
5 w) m( r( Q# l* [2 i& u" ]$ u/ v
作者: mudan    时间: 2012-10-30 17:43
madio 发表于 2012-10-30 06:38 0 f5 K3 t' Z" z. {9 E
rem这个函数可以换为mod,容易知道一些!# |. K, N& A. {5 L
matlab中的rem()和mod()函数matlab的rem()和mod()函数9 }1 X9 D' @+ j6 B9 l( l, t
rem(x,y) ...
6 |& Y9 T' Y/ i0 u6 V$ [
讲的很细致,坛主能不能推荐一本matlab程序实现的书?侧重实例的,谢谢
作者: wy617958197    时间: 2014-9-2 13:07

5 I! e6 ~& c; B3 q/ ~多谢分享资料!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5