数学建模社区-数学中国

标题: 急求助一个matlab程序小问题 [打印本页]

作者: muaqin    时间: 2009-11-26 20:53
标题: 急求助一个matlab程序小问题
假设a=[1,2,3,4];b=[1,3,4,2];,B如果要变成A,需要首先交换2,4位,然后再交换3,4位,也就是我希望函数显示出交换的顺序(2,4)及(3,4)
  n. ~& B" ~4 s函数是这样写的3 X. C, b/ p) w9 ?& _
function y=f(a,b,k)
+ }- i* T& r9 c4 i- ^m=1;- z! v  ^" h5 Q( U, d7 f; y7 u# w3 D
for i=1:k         
& Q) I6 g, Q8 u# l/ S( y5 F( O        for j=1:k" X3 x  _2 }- A0 g+ e6 X, R1 Q- r
        if b(j)==a(i)
6 ]# t7 s. x" V; f/ H! D            if j==i
* Q8 Y) E( |* T2 j7 F8 b                break;: t/ z" p" i0 P$ c
            else
; ]: E# R/ L, y' L               y(m,1)=i;
7 u/ g" M& T! q2 |& z, R0 y1 e               y(m,2)=j;9 n9 Z1 C8 Z6 q* J. P2 b! s3 h* [; F
               m=m+1;& e; ]: P) q4 f* r5 W) c
               t=b(i);b(i)=b(j);b(j)=t;$ i7 v' ^8 u6 D
               break6 q. h9 j4 Z0 i7 D  U( s
            end
8 S2 R6 B2 [7 q5 r$ [8 v5 R( j        end    " M8 g0 F; b& h1 U7 n+ J
    end   ; R3 J' d5 c/ Q
end
' n6 L6 b9 N; Q" j! D' r调用函数y=f[a,b,3]
3 {+ A2 g3 g! a! R2 G3 C0 Q3 C显示的是Error using ==> f.f% S% T5 {% Z8 U- K% H
Undefined D matrix.4 X) W. `9 V( P0 P1 i& b
请高手们帮忙看看是什么问题。
作者: madio    时间: 2009-11-26 21:52
调用函数的时候要使用圆括号,不是方括号。
作者: 为你奋斗    时间: 2009-11-26 22:42
还是论坛管理员厉害!呵呵,我们要好好学习!
作者: muaqin    时间: 2009-11-27 08:22
是用的圆括号,那是我打错了!不是那个问题。提示的是Undefined D matrix,不明白这是什么错误
作者: leo12ok    时间: 2009-11-27 08:29
你程序运行结果:
/ G1 K. {6 T$ R* f( r- V2 d5 [/ C+ h' y" F9 r; }
>> y=f(a,b,3): O0 ^$ a2 ^6 V9 o5 f
y =
+ a+ _9 d2 T' T     3     2
# D9 i* ~) k) F7 Z) L0 E>> y=f(a,b,4)9 e8 R. _/ X; x* u
y =
5 q# o0 z" S' n! k' G( {     2     4- M, O% P( e2 \/ C4 @- s
     3     47 K$ `8 |. _3 F/ ]- B/ V- w$ s

8 |1 |3 o" |! P: u( n不会出错啊
作者: muaqin    时间: 2009-11-27 10:29
找到问题了,我在matlab中编的函数名为ss,不是f,换个函数名就可以了。好像ss不能做为函数名。
作者: muaqin    时间: 2009-11-27 10:31
还忘了一件事,谢谢各位的帮忙!!!!!!!!!!
作者: gk0402jeff    时间: 2009-11-27 19:58
呵呵呵~气氛不错
作者: spectral    时间: 2009-12-5 20:25
原来是这样呀!我也学了一招!主函数名和文件名应该一致才可以!




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