数学建模社区-数学中国
标题:
急求助一个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)
7 r) X: z- _$ ~' Y" o
函数是这样写的
! ~5 T! }" q% P+ O6 X; j q
function y=f(a,b,k)
4 H; E4 H' W: x
m=1;
$ B' H5 ?) y1 k- Y* ^4 S* y
for i=1:k
7 I( ]+ {$ d0 k3 f! U
for j=1:k
+ {$ H) d# Y) o; G' U2 c
if b(j)==a(i)
* K. b1 G( `2 n" \+ g
if j==i
7 D2 \" O9 I% b
break;
& S2 C" {( X2 p9 `$ `% G
else
2 N$ ~- E* s5 t: C+ u( _ |3 d
y(m,1)=i;
, U4 b! X$ Y$ Q3 u
y(m,2)=j;
- }: F' W- V2 \% H" |4 ~! h& m
m=m+1;
2 s1 L" o. _ q
t=b(i);b(i)=b(j);b(j)=t;
# u- Q' i, A3 B6 T. ` V
break
9 C& S; y o; |
end
5 k D+ Z( U( h$ B M" q5 T
end
; n% A7 L- l6 v |0 K1 @
end
3 }4 E& V; u, L9 L7 }
end
& Q; u- O% y; _' Q& Y
调用函数y=f[a,b,3]
/ ~/ J: X0 i: D) U7 ]/ E
显示的是Error using ==> f.f
& d& F2 E: K6 y; m* ?1 o0 {
Undefined D matrix.
4 w: H( t; u- |" S) Z( {
请高手们帮忙看看是什么问题。
作者:
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
你程序运行结果:
4 J/ [) f, c% v8 w
3 @4 ^. Y! K& \! a; p$ M. b
>> y=f(a,b,3)
/ @& l3 G% I+ D: V0 e, e
y =
( T5 S/ C4 E: R. m/ P/ S) I0 O
3 2
2 Z. P) w, c8 i X) H& v. K
>> y=f(a,b,4)
. M3 Z! |" h9 A
y =
) F9 x* c0 k9 N: e! q
2 4
/ ]5 d9 K6 B X7 x
3 4
( k- U+ Y. [; T
: D: W$ G/ l1 `3 E' m
不会出错啊
作者:
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