数学建模社区-数学中国
标题:
急求助一个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)
" X5 C/ a, x# p3 b9 N& u
函数是这样写的
3 |) O4 n! Q( |0 f: K5 N- O
function y=f(a,b,k)
3 b4 U7 Q$ i7 {$ U% n7 M" U
m=1;
# A2 d' B W* F2 B# k
for i=1:k
) ~0 ?: C# x8 [ P D+ p
for j=1:k
2 m3 m% M+ J( `$ h7 z8 |4 n
if b(j)==a(i)
, ^- s v0 `# P6 d- Z3 f
if j==i
/ X5 ~- ?6 ~$ f8 y; T
break;
" P& W! u+ j) ^
else
' R" V) I2 W& m( D
y(m,1)=i;
0 P3 {* o8 `! l
y(m,2)=j;
$ p( t! P8 i( i) @3 Y
m=m+1;
7 M% `2 m3 w8 h5 k; H( }
t=b(i);b(i)=b(j);b(j)=t;
( S% f) G* f$ @' {4 Z7 ?
break
: t+ I1 u( B/ _; s5 u& k
end
% Y0 [4 P- w" g/ r7 O1 O2 e
end
! _. w+ I& }: X& q9 X
end
; i, L6 y# _% z# d* f+ Q8 [% j
end
z% }# d# A; e; d" _
调用函数y=f[a,b,3]
9 E# }- w5 k' Z; x; h& z2 \: v
显示的是Error using ==> f.f
2 m. r/ |+ D* X" j9 L' ?; y
Undefined D matrix.
* m+ I) i" l# `/ [0 D7 r
请高手们帮忙看看是什么问题。
作者:
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
你程序运行结果:
5 X% F- F; ?/ D% ~) a% \
7 j# u7 o+ ?$ _/ A
>> y=f(a,b,3)
3 ~! J8 T+ p% h
y =
8 O. ]8 |" H6 g$ m
3 2
/ N5 X2 T: A% G% q$ d3 D
>> y=f(a,b,4)
0 z; ]8 o/ C' V O9 v
y =
- ]$ n" D0 e9 X2 g1 p$ |
2 4
" T: s" @, ]/ J3 F0 `
3 4
$ G' Z- D, g7 x2 g% S
3 Y G( y; T4 E- h+ ~5 c
不会出错啊
作者:
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