在Matlab代码中,(X~ = 1)。* Y.当x~ = 1失败时如何停止执行Y?

时间:2015-06-19 02:40:04

标签: matlab

我为我的论文写了一段代码,并遇到了以下问题。

在创建ksubgrid时,如果第一个逻辑部分失败,例如reshape(kmax_ind,nz*nb*nk*nxi,1)中的元素等于1,MATLAB报告错误,因为linspaceNDim中的第一个向量具有列号为0的向量。

当逻辑失败时,如何让MATLAB停止执行linspaceNDim?我知道如果我逐个元素循环,if语句可以解决问题。但由于这里的循环次数很多,所以它会很慢。

那么如何解决矩阵中的问题?

ksubgrid=reshape((reshape(kmax_ind,nz*nb*nk*nxi,1)<nk & reshape(kmax_ind,nz*nb*nk*nxi,1)>1 ).*...
linspaceNDim(kgrid(1,reshape(kmax_ind,nz*nb*nk*nxi,1)-1),kgrid(1,reshape(kmax_ind,nz*nb*nk*nxi,1)+1),nksub)

0 个答案:

没有答案