please help with multiplication and division function

1 Ansicht (letzte 30 Tage)
Emmanuel Akpan
Emmanuel Akpan am 4 Jul. 2018
Kommentiert: Robert U am 4 Jul. 2018
A={1;2;3;4;5;6;7}; B={1;2;3;4;5;6;7};
A and B are both cell arrays, I would like to find C
C=(3*A-C)/2;

Antworten (2)

Stephen23
Stephen23 am 4 Jul. 2018
Bearbeitet: Stephen23 am 4 Jul. 2018
The solution is simple: don't use cell arrays:
A = [1;2;3;4;5;6;7];
B = [1;2;3;4;5;6;7];
C = (3*A-B)./2;

Robert U
Robert U am 4 Jul. 2018
Bearbeitet: Robert U am 4 Jul. 2018
Hi Emmanuel Akpan,
The question you raised is not clear. Taking into consideration the given equation you can find easily by manual calculation that it is satisfied for
C = A;
In case you would like to calculate
C = (3*A-B)/2;
while use of cell arrays is mandatory, there are several ways of doing that. Depending on what output format you would like to achieve you might have to alter the shown examples. I assume, output should be cell array again:
A={1;2;3;4;5;6;7};
B={1;2;3;4;5;6;7};
C1 = cellfun(@(cA,cB) (3*cA-cB)/2,A,B,'UniformOutput',false);
C2 = arrayfun(@(dIn) dIn,(3*cell2mat(A)-cell2mat(B))/2,'UniformOutput',false);
Kind regards,
Robert
  2 Kommentare
Stephen23
Stephen23 am 4 Jul. 2018
Bearbeitet: Stephen23 am 4 Jul. 2018
Note that instead of this:
C2 = arrayfun(@(dIn) dIn, ... ,'UniformOutput',false)
to place the elements of a numeric array into the cells of a cell array, just use num2cell:
C2 = num2cell(...)
Robert U
Robert U am 4 Jul. 2018
True, Thank you Stephen.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Entering Commands finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by