数学建模社区-数学中国
标题:
急求助一个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)
: ~% H% a, ]+ N; ^+ T
函数是这样写的
3 ~3 H* H7 T0 ?5 D. ^; Y- K
function y=f(a,b,k)
& v- G( I( r5 S6 N3 Q0 k" x
m=1;
: t$ E% q. h2 D( {3 m
for i=1:k
9 i5 {7 Z) W* n
for j=1:k
# X/ o) G9 v- v! t) Y) h6 i
if b(j)==a(i)
5 S3 R" }7 k! W! K
if j==i
6 p0 m. c1 {! U+ H; q+ I
break;
* ?5 G1 v& v% p! n( I
else
4 d9 v. H3 G" k/ `: V# b0 j7 u& t! M
y(m,1)=i;
: ]% g: i! \5 e3 o$ @
y(m,2)=j;
1 Q$ l# D. N9 }/ [: D" [) e* e
m=m+1;
# w- B; j" j" `1 w. E: _
t=b(i);b(i)=b(j);b(j)=t;
; {! ~$ [/ X) S: a9 n& ?! L7 e$ j
break
+ [4 g/ V; j3 [; T# X5 [. w/ y
end
* L! [2 K- S |( p+ X* v5 h
end
; l2 v9 {4 h2 [0 M
end
$ Q" t! w: A# {' h2 [
end
/ C& u5 t( \; p3 @- X
调用函数y=f[a,b,3]
' J% t, g1 a- W' |7 g e0 d
显示的是Error using ==> f.f
, O; T0 K- y# _ A: g8 l$ g
Undefined D matrix.
+ x: @# r0 L9 x0 ]% A/ 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
你程序运行结果:
6 A( T9 }4 H) _* M
* a r' d6 L% G" x7 `+ R
>> y=f(a,b,3)
- H H5 P/ A; n, K/ [
y =
6 z; v5 o; m9 Y4 ?9 |; {: ~4 f: w
3 2
8 k/ w: o8 L9 P T, ^6 P! \( G
>> y=f(a,b,4)
1 X9 z. a6 e# T7 s: }
y =
' s( C/ y7 p' j `3 B
2 4
& v; K: s+ m) X5 P
3 4
: Y! o4 ^! _& C! V2 O1 D, J7 C
/ } U# P& i. [* S4 A
不会出错啊
作者:
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