Info
この質問は閉じられています。 編集または回答するには再度開いてください。
Reading/Finding data withing column
2 ビュー (過去 30 日間)
古いコメントを表示
I have loaded my data into matlab using the uiiport(mydata.txt). It consists of 4 columns, like so:
(0 0 0 0)
(1 0 0 25)
(1 1 0 74)
(1 1 1 122)
(2 0 0 200)
....
I would like to program a way that I can ask for a number as mydata(column1,column2,column3), and have it give me the corresponding number in column 4. For example:
constants = uiimport(mydata.txt)
SomeCommand(1,1,0);
=
74
Is there a simple way to do this? It would also be nice to be able to label the columns with their meaning in the variable editor, but it's not really necessary.
0 件のコメント
回答 (3 件)
Jonathan Sullivan
2013 年 5 月 22 日
[~,ind] = ismember([1 1 0],constants(1:3,:),'rows');
constants(ind,4)
3 件のコメント
Azzi Abdelmalek
2013 年 5 月 23 日
constants=[0 0 0 0
1 0 0 25
1 1 0 74
1 1 1 122
0 0 0 200]
a=constants(:,1:3)
[idx,idx]=ismember(a,[1 1 0],'rows')
out=constants(logical(idx),4)
0 件のコメント
Iain
2013 年 5 月 23 日
constants(find( (constants(:,1) == 1st) & (constants(:,2) == 2nd) & (constants(:,3) == 3rd)),4)
This:
1. Compares each of the first 3 columns against what you supply as 1st, 2nd and 3rd (constants(:,1) == x), takes the "and" of those logical results "&", and returns a single column containing true where all three match, and false elsewhere.
2. find, then gets the row number of EACH true.
3. It then retuns the correct elements of column #4. - If there are none, it returns an empty.
5 件のコメント
Iain
2013 年 5 月 24 日
It might make a difference, but its probably not worth worrying about unless you have to read in the file(s) lots.
constants has come out as a structure, with a single field with the name "Constant0x2810x29".
Where I have put constants, you should put constants.Constant0x2810x29.
Constant0x2810x29 will probably change from file to file, so you may need something like this:
fn = fieldnames(constant); % Gets a list of the fields (in code)
mydata = getfield(constant,fn{1}); % Gets the 1st field from constant and puts it in mydata.
この質問は閉じられています。
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!