Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

How to index in an array from one cell to another cell column wise?

3 vues (au cours des 30 derniers jours)
liu James
liu James le 16 Déc 2016
Clôturé : MATLAB Answer Bot le 20 Août 2021
Help, I have an array that is 1x34; however once expanded it becomes some nx6 array. I would like to loop through each column and extract the first row then loop through the columns and extract the second row.
How would you do this or is there an easy way to do this?
  2 commentaires
KSSV
KSSV le 16 Déc 2016
Not clear....in a cell there is n*6 matrix, what you want to extract from it? For one cell, tell me what you want to extract?
liu James
liu James le 16 Déc 2016
So basically, I will be doing comparisons between (bb{i}(s,1) > bb{i}(s,2) for each column and row. But I want it to loop back to the other columns and do the comparison row by row vs completing the full length of the first column. Does that make sense?
for i = 1:34 %% Find initial status in the portfolio: % 0 = hold nothing, 1 = Long asset, and % -1 = Short asset [status, qty1, qty2] = calcStatus(P,u,i);
%%Create an order based on Donchian Trend and holding status
caseNum = 0;
for s=1:length(bb{i})
if (status == 0) && (bb{i}(s,1) > bb{i}(s,2))
% Case 1: No holding position & Open > upper band
caseNum = 1;
bList{i} = u{i,1};
bQty{i} = Unit_Size;
elseif (status == 0) && (bb{i}(s,1) < bb{i}(s,3))
% Case 2: No holding position & Open < lower band
caseNum = 2;
sList{i} = u{i,1};
sQty{i} = Unit_Size;
end
end

Réponses (1)

KSSV
KSSV le 16 Déc 2016
clc; clear all ;
load bb.mat ;
[m,n] = size(bb) ;
for i = 1:n
k = bb{i}(:,1:2) ;
% Get bb{i}(s,1) > bb{i}(s,2) indices
idx = find(k(:,1)>k(:,2)) ;
end
I dont think the elements in first column are greater then second column in any cell.

Cette question est clôturée.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by