getscalejump.m
来自「Continuous Profile Models (CPM) Matlab T」· M 代码 · 共 47 行
M
47 行
% function scaleJumpMats = getScaleJump(G)%% get the matrix that is an indicator that shows which states% jump from one scale to a neighbouring scale (ignoring boundary% states), and stays at the same state% first matrix is timeJump=0, second is timeJump=1function scaleJumpMat = getScaleJump(G)%dbstop%% sets of states that have non-boundary scale states, grouped by %% scalescaleRange=2:(G.numScales-1);for ii=scaleRange scaleStateSets{ii}=find(G.stateToScaleTau(:,1)==ii);endscaleDiffs=[0,1]; %permissible scale transitionsnzmax = (G.numScales-2)*G.numTaus*2;for sd=1:length(scaleDiffs) clear tempMat; %tempMat=logical(sparse([],[],[],G.numStates,G.numStates,nzmax)); %tempMat=logical(sparse(G.numStates,G.numStates)); tempMat=logical(zeros(G.numStates,G.numStates)); %tempMat=zeros(G.numStates,G.numStates); %tempMat=logical(zeros(G.numStates,G.numStates)); %for ii=1:length(genericScaleStates) for thisScale=scaleRange sc=scaleStateSets{ii}; validStates = find(abs(G.stateToScaleTau(:,1)-thisScale)==scaleDiffs(sd)); %tic; tempMat(sc,validStates)=1; %toc; end scaleJumpMat{sd}=sparse(tempMat);; %scaleJumpMat{sd}=logical(sparse(tempMat));endreturn;for ii=1:length(scaleDiffs) length(find(scaleJumpMat{ii}))end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?