matlab中如何提取一个向量中的元素作为一个变量的下标?

比如 a=1 7 6 4 5 10 2 9 8 3;
我要实现D17 D76 D64,就是把上面的向量中相邻的2个元素作为D的下标,该怎么实现?请高手指教。回答正确的我追加悬赏分!

a=[1 7 6 4 5 10 2 9 8 3];

for i=1:2:length(a)
index=a(i)*10+a(i+1);
eval(['D',num2str(index),'=',num2str(i)]); %赋的值,请将num2str(i)中的i修改成相应的值即可。
end
whos
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-08
定义如下函数:
function makeVariable(a,k,strRealVar)
N=length(a);
if k<1 return;
if k>N-1 return;
cmd=sprintf("D%d%d=%s",k,k+1,strRealVar);
eval(cmd);

调用实例:
生成变量D76并将数值99.2赋值给它。
makeVariable(a,2,'99');
第2个回答  2010-06-12
百度hi交流本回答被提问者采纳
相似回答