How to solve this loop equation

1 view (last 30 days)
Dear All,
I have successfully executed the following equation for single value of a and corresponding single b value, while m varies from 0 to 1 with increment of 0.01.
m = 0:0.01:1;
eff= ((0.65.*(a-m-0.3).*b))./10;
xlswrite ('1.xlsx',[m(:),eff(:)]);
However i have a lots of data in a and coresponding b. 1st column of excel sheet is a and second column is b. How to do it and store in excel sheet.
Excel sheet should like
a m eff
1 0.01 xxxx
1 0.02 xxxx
1 0.03 xxxx
......................
1.01 0.01 xxxx
1.01 0.02 xxxx
You can see a is with increment of 0.01 and corresponding b value is given. Thank you

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 13 Mar 2019
Edited: Andrei Bobrov on 13 Mar 2019
data = readtable('data.xlsx','ReadV',0);
data.Properties.VariableNames = {'a','b'};
m = 0:.01:1;
[ii,idx] = ndgrid(m,1:height(data));
eff = 0.065*data.b(idx(:)).*(data.a(idx(:)) - ii(:) - 0.3);
T = array2table([data.a(idx(:)),ii(:),data.b(idx(:)),eff],...
'V',{'a','m','b','eff'});
writetable(T,'data_out.xlsx');

More Answers (0)

Community Treasure Hunt

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

Start Hunting!