Code some excel formulas in Matlab, in a smart way
Afficher commentaires plus anciens
Hey
I have a quick question, I have this excel ark where there is a column that has the following code:
q1 = 1/2 * x1 * y1
q2 = 1/2 * x2 * y2 + x1 * y1
q3 = 1/2 * x3 * y3 + x2 * y2 + x1 * y1
q4 = 1/2.............
and so on and so on.
How do I program this smart? I've tried to make a for loop, but I can't figure out how the make the 1/2 only stick to the new x-y values and not the others.
Réponse acceptée
Plus de réponses (1)
KL
le 11 Sep 2017
x = 1:5;
y = 6:10;
xy = arrayfun(@(a,b) [x(1):a;y(1):b],x,y,'UniformOutput',false);
q = cellfun(@(c) sum([0.5 ones(size(c)-1)].*prod(c)),xy,'UniformOutput',false)
2 commentaires
Mikkel Ibsen
le 11 Sep 2017
Image Analyst
le 11 Sep 2017
There is a mat2cell() function. See the FAQ http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F for an explanation of cells. However I think Steven's answer/hint is the more straightforward, less cryptic approach.
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!