Info

この質問は閉じられています。 編集または回答するには再度開いてください。

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

1 回表示 (過去 30 日間)
liu James
liu James 2016 年 12 月 16 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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 件のコメント
KSSV
KSSV 2016 年 12 月 16 日
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 2016 年 12 月 16 日
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

回答 (1 件)

KSSV
KSSV 2016 年 12 月 16 日
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.

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by