Reading a text file into a function as variables
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Guillaume
2014-9-3
编辑:Guillaume
2014-9-3
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 个评论
更多回答(1 个)
Iain
2014-9-3
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Export 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!