Borrar filtros
Borrar filtros

loop or other better solution for mixing?

1 visualización (últimos 30 días)
addy fang
addy fang el 27 de Jul. de 2020
Editada: per isakson el 28 de Jul. de 2020
Hello, I want to do some mixing and wonder if there is any better solution other than looping.
I want to mix any number of ingredients to make one solution. The total percentage of the ingredients added up should equal to 100%. The percentage of each ingredient can be from 0% to 100%. I need to go through and save all the possible compositions with distinct names, and do calculations in order to find out the best composition.
Starting with two databases A and B, each with 4 columns of numerical data. I will need to produce and save all the mixed combination. For example, 10% of each column in A add 90% of the corresponding column in B, and save the result. The total percentage is 100%. This could be done with loop. x=0:0.1:1, C=x*A+(1-x)*b. This seems straightforward, if I only have two databases A and B.
If I have three databases, A, B and C, to produce D. So I need two loops?
If I have A, B, C and D, to produce E, so I need to have three loops?
If I want to mix more, do I have to create another loop again?
As the number of the databases I want to mix increase, this looping solution seems inefficient. Because everytime the numer of database changes, I need to rewrite my code again.
I was wondering if there is any better solution for this problem. So it does not need me to redo the coding even if I change the number of databases to be mixed. I hope I only need one code to run whatever number of databases that I want to mix.
I tried the following for two components and it did not work:
data1=importdata('\rawdata1.txt');
data2=importdata('\rawdata2.txt');
for x = 0:10:100, y = 0:10:100 & x+y=100;
data = data1.*x + data2.*y;
folder = '\Desktop\';
filename = sprintf('data_component1_%d_component1_%d.xls', x, y);
fullfilename = fullfile(folder, filename);
xlswrite(fullfilename, data);
end
Can someone help? Thank you very much.
  2 comentarios
Vladimir Sovkov
Vladimir Sovkov el 27 de Jul. de 2020
Write matlab function with the "varargin" argument. See matlab documentation on it.
addy fang
addy fang el 28 de Jul. de 2020
Editada: addy fang el 28 de Jul. de 2020
Hi Vladimir, Can you write an example solution for this problem?
I don't know how to do it. I am a newbee. Thank you.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by