主题:用下标数组访问数组的问题
integer*4 idx(n),ind(m),k,p,q
real*8 data(p,q),ipt(m),dp(p,q)
Do k=1,m
dp(idx(ind),k) = 2*ipt*data(idx(ind),k);
enddo
有一段类似的程序.idx和ind都是下标数组,ind(ind)来确定最终的下标。但赋值时好像访问的位置不对。试着加方括号[]。比如
dp([idx(ind)],k) = 2*ipt*data([idx(ind)],k); 又会报维度不符之类的错误。
我的问题是,类似这样的用数组作为下标来访问和幅值另一个数组该如何操作? 在访问数组是[]的意义是什么?比如b=[1 2 3] ,A(b(1,3),:)和A([b(1,3)],:)有何区别? 要正确访问A的“第1,3行所有列”,哪个表达方式正确? 谢谢。