I have a file with 6 columns of numerical data, tab delimited:
Eg. 1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
etc.....
I have a function called gpoly which requires the following inputs:
g=gpoly(x0,z0,xcorn,zcorn,ncorn,rho)
Where all these inputs are numbers. I would like to run this function using each line of my data file as these 6 inputs each time to produce a list of g's at the end.
Could someone please explain how would be best to do this? I have tried readtable and rowfun which did not work. Possibly a for loop iterating over each line, but I am not sure of the syntax in Matlab?
Many thanks, Lily

 채택된 답변

Guillaume
Guillaume 2014년 9월 3일
편집: Guillaume 2014년 9월 3일

0 개 추천

For completeness:
D = dlmread(somefile);
Then, if gpoly works on arrays:
args = num2cell(D, 1);
g = gpoly(args{:});
If it only works with scalar:
g = zeros(1, size(D, 1)); %edited for silly mistake
for row = 1:size(D, 1)
args = num2cell(D(row, :));
g(row) = gpoly(args{:});
end

댓글 수: 2

Many thanks for the answers. I have tested and gpoly can only work on scalars so I have tried using the code you provided:
g = zeros(1, row);
for row = 1:size(D, 1)
args = num2cell(D(row, :));
g(row) = gpoly(args{:});
end
However I get an error in the following line:
g = zeros(1, row);
Error: Undefined function or variable 'row'.
Thanks, Lily
Guillaume
Guillaume 2014년 9월 3일
편집: Guillaume 2014년 9월 3일
yes, sorry made a mistake. Editing the answer now.
Or you could just have ignored the line, that just predeclare g.

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

추가 답변 (1개)

Iain
Iain 2014년 9월 3일

0 개 추천

dlmread
That's a function that is designed to read delimited files into matlab. - It'll likely give you an array with all the data in it, ready to use.
You could try using the import wizard instead though.

카테고리

도움말 센터 및 File Exchange에서 Data Import and Export에 대해 자세히 알아보기

제품

질문:

2014년 9월 3일

편집:

2014년 9월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by