フィルターのクリア

How do I compute the same function on multiple columns within a data file, then write the column results to excel? Thanks!

2 ビュー (過去 30 日間)
I'm getting this error on the line where it says "BFrecovery(col)= (Treatment-Min)/Diff"
What I'm trying to do is 1) grab a data file from the folder 2) run the same function on columns 2:(# of columns in the data file) and 3) write the column results to excel file. However, I can't seem to achieve step 3 because of the aforementioned error. What do I need to tweak in order to write the the column results to excel file?
if true
% code
end
function [PctRecov]=BFRecov();
delimiter = ',';
startRow = 2;
fmt=[repmat('%f',1,5) '%*[^\n]'];
pn = uigetdir(pwd,'BFRecovery');
d=dir(fullfile(pn, '*.csv'));
% if no match, abort, tell user
if isempty(d),error(['DIR: no files matched ' fullfile(pn, '*.csv')]),end
% found at least one so can continue
L=length(d);
% and loop over the files...
for i=1:L
msg='';
[fid,msg]=fopen(fullfile(pn,d(i).name),'r');
error(msg) % should never fail here w/ above check
dataArray=cell2mat(textscan(fid, fmt, ...
'Delimiter', delimiter, ...
'headerlines', startRow, 'collectoutput',1));
fid=fclose(fid); %closing the file
% if no data, abort, tell user
if isempty(dataArray),error(['No data from ' fullfile(pn,d(i).name)]),end
[rows, columns] = size(dataArray);
BFrecovery=zeros(rows,4);
Time_Hrs=dataArray(:,1);
for col = 2 :columns;
Treatment= dataArray(:,col);
Max = max(Treatment);
Min =min(Treatment);
Diff=Max-Min;
BFrecovery(col)= (Treatment-Min)/Diff
end
end
xxlswrite(fullfile(pn,'BFrecovery.xls'),[BFrecovery]);

採用された回答

Star Strider
Star Strider 2017 年 5 月 17 日
Try this:
BFrecovery(:,col)= (Treatment-Min)/Diff
It is not possible to assign a vector (since ‘Treatment’ is a column vector) to a single element scalar array element. This change assigns it as a column of ‘BFrecovery’.

その他の回答 (1 件)

Randy st
Randy st 2017 年 5 月 17 日
perfect, thank you!

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by