matlab 插入数值

来源:百度知道 编辑:UC知道 时间:2024/05/18 07:53:14
比如a=[1 2 3]
我想把8插入到1和2之间
变成a=[1 8 2 3]
怎么做啊,最好是一步解决,编自定义函数有点小题大做的感觉,呵呵。
已经想出解决办法了,
a=[a(1),8,a(2:3)];
谁先来回复一下,随便说点什么(不许骂人),我就把分给谁了。
虽说只有5分,呵呵。

a =

1 2 3

>> b=[a(1),8,a(2),a(3)]

b =

1 8 2 3

>> b=[a(1),8,a(2:end)]

b =

1 8 2 3

===========自定义函数============
function w=insert(x,y,cond)
%%cond:插入位置的条件
if nargin==2
cond='(y(i-1)==1)&&(y(i)==2)';
end
n=length(y);
for(i=1:n)
try
if eval(cond)
w=[y(1:i-1),x,y(i:end)];break;
end
catch
continue;
end
end

=============在命令窗口中输入===============
>> insert(8,[1,2,3])

ans =

1 8 2 3