数学建模社区-数学中国

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

作者: mudan    时间: 2012-10-29 16:54
标题: 求解4000*x1+3000*x2+2000*x3=30000的自然数解程序
  1. for x1=1:13
    & M# q9 U0 ?1 N* O* e
  2.     for x2=1:13
    $ ~% n" P" `: j4 H
  3.         x3=(30000-4000*x1-3000*x2)/2000;
    ( L: s8 K! C: E! T" m9 p, Q
  4.         m=13-x3-x1-x2;
    1 f# T( M8 c' e% ^9 K
  5.         if sign(x3)>=0 &  rem(x3,1)==0 & sign(m)==0  
    * c* d* i2 b6 g6 t1 q1 N
  6.             disp([x1,x2,x3])8 w# K' d; f8 W" l3 t
  7.         end
    6 N+ E# ^+ I4 P2 I, c- b
  8.     end
    2 i2 @1 c) A) {) Z% H
  9. end
复制代码

作者: madio    时间: 2012-10-30 06:38
rem这个函数可以换为mod,容易知道一些!7 T3 Y# {# n5 U! v  y, P: b% A
matlab中的rem()和mod()函数matlab的rem()和mod()函数
  @2 z4 H; A9 S1 q; Vrem(x,y):求整除x/y的余数' g0 x: ?( w7 M- c  F, J9 }

/ h, P+ b! }+ ~7 [mod(x,y):求模4 m: T/ M4 H$ h3 m2 k

$ d+ }1 [( |* c9 X* Q- m; C2 O
" O; _) M0 x7 B) H" U6 ]# D  V" K1 n5 R7 Q1 ^; K& G# q
rem(x,y)=x-y.*fix(x./y);  (fix()向0取整)' X3 Y$ i- m5 g. ?( e
% O- @9 p  i& Z
mod(x,y)=x-y.*floor(x./y); (floor()向左取整)
( ?; d3 |; L0 ~; P2 q$ O! u3 @' [8 e! T3 o' I5 k7 S: q
如果x和y的符号相同(同为‘+’,同为‘-’),那么rem(x,y)=mod(x,y)(正数与正数,负数与负数,取整结果两个函数效果一样)
8 l& V* X1 r$ V8 k$ W4 v/ i& A+ T3 X8 P) W3 O! x
如果x和y的符号相反,那么mod(x,y)=rem(x,y)+y(正数与负数的取整,看你希望得到什么结果就选择用什么函数)) s. c* W7 t% f; p$ H( I

+ e" n0 e; o* L当正数与负数取余时,当得到的余数结果的符号希望跟除数(x)一样,用rem()函数;当得到的余数结果的符号希望跟被除数(y)一样,用mod()函数
/ ]- j+ g8 g( S3 M) L
5 v7 e" t1 d. H+ M例如:' u& c* U- u, v% Y
! L9 J0 u5 f/ x. Z* i
rem(3,2)=1;mod(3,2)=1;
( V! s  o+ Q5 R( ?
* Z: w$ n6 T  a' `5 [8 Krem(-3,-2)=-1;mod(-3,-2)=-1;! g0 Z* Y4 s' s: Q4 o. F
4 _% l) [6 }5 y- U5 O) r
rem(3,-2)=1;mod(3,-2)=-1;
" Q: ^& n! J/ T, R2 G" \4 B1 |: P5 ?6 F
rem(-3,2)=-1;mod(-3,2)=1;
9 G* ~! Q7 q7 H3 l, o3 N
+ Z3 k3 J, v& u  a5 {. S6 t
3 f/ w8 d. }) T# [4 g7 m0 K2 G) M0 ~4 z0 ?% k: k" ~
mod(3,2)=rem(3,2)=1;0 e$ ~1 H+ N3 ]
3 e  F5 R; E* t6 N% j& D
mod(3,-2)=rem(3,-2)-2=1-2=-1;; k- g" f+ v. B: u! R4 a1 f
3 ?& |' F5 c# B
mod(-3,2)=rem(-3,2)+2=-1+2=1;
6 h! x: L7 H& r% a- {; G9 \
作者: mudan    时间: 2012-10-30 17:43
madio 发表于 2012-10-30 06:38 3 E5 B& t/ a9 R& ]0 N$ a
rem这个函数可以换为mod,容易知道一些!# g" d! D4 C" }: s
matlab中的rem()和mod()函数matlab的rem()和mod()函数
) C& D+ q* I' r( R" B/ xrem(x,y) ...

9 }7 T; e% }5 ^3 B  w/ Z3 n( u讲的很细致,坛主能不能推荐一本matlab程序实现的书?侧重实例的,谢谢
作者: wy617958197    时间: 2014-9-2 13:07
- F. v# ^0 X* |+ `" z9 {3 o
多谢分享资料!




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