필터 지우기
필터 지우기

Calling text file in matlab

조회 수: 5 (최근 30일)
muhammad ismat
muhammad ismat 2015년 6월 9일
댓글: muhammad ismat 2015년 6월 14일
if i have text file that has three column say
1 2 1
3 1 1
2 3 1
and also have a matrix s =
[0.3 0.4 0.6
0.1 0.5 0.7
0.2 0.11 0.9]
firstly: with respect to text file, i want to consider first column as i and second column as j then if the third column equal 1 then put its corresponding value in matrix s in new array say A else put remaining value in matrix s in new another array say B.
i.e i want this result
A=[0.4, 0.2, 0.7] B=[0.3, 0.6, 0.1, 0.5, 0.11, 0.9]
  댓글 수: 2
Guillaume
Guillaume 2015년 6월 9일
Where do the values go if the third column is not 1? At present your rule is:
coordinate is present and third column is 1 -> put in A
coordinate not present -> put in B
what is the rule for
coordinate is present and third column is not 1 -> ??
muhammad ismat
muhammad ismat 2015년 6월 14일
i'm so sorry for more questions
we consider the coordinates that present are 1 2, 2 1,3 1, 1 3,2 3,3 2; i.e that present and its inverse so A=[0.4 , 0.1 , 0.2 , 0.6 , 0.7, 0.11] B=[0.3, 0.5, 0.9]
2- how to take percentage of variable A say 20% of values

댓글을 달려면 로그인하십시오.

채택된 답변

Andrei Bobrov
Andrei Bobrov 2015년 6월 9일
편집: Andrei Bobrov 2015년 6월 9일
ii = [1 2 1
3 1 1
2 3 1];
s = [0.3 0.4 0.6
0.1 0.5 0.7
0.2 0.11 0.9];
[x,y,z] = size(s);
ij = num2cell(ii,1);
idx = sub2ind([x,y,z],ij{:});
A = s(idx);
B = s(setdiff(1:numel(s),idx));
  댓글 수: 1
muhammad ismat
muhammad ismat 2015년 6월 10일
Thank you very much Mr. Andrei Bobrov

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Guillaume
Guillaume 2015년 6월 9일
I'll assume you know how to read the text file (use load). One way to do it:
coordinates = [1 2 1
3 1 1
2 3 1];
s = [0.3 0.4 0.6
0.1 0.5 0.7
0.2 0.11 0.9];
linindices = sub2ind(size(s), coordinates(:, 1), coordinates(:, 2))';
A = s(linindices)
B = s(setdiff(1:numel(s), linindices))
  댓글 수: 1
muhammad ismat
muhammad ismat 2015년 6월 10일
Thank you very much Mr. Guillaume

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2015년 6월 9일
dlmread() or load() the text file into a matrix, and then work with it in memory.
  댓글 수: 1
muhammad ismat
muhammad ismat 2015년 6월 10일
Thank you , Mr Walter

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by