数学建模社区-数学中国
标题:
急求助一个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
break
6 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 d
5 [/ 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 4
7 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