please help with multiplication and division function

4 次查看(过去 30 天)
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;

回答(2 个)

Stephen23
Stephen23 2018-7-4
编辑:Stephen23 2018-7-4
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 2018-7-4
编辑:Robert U 2018-7-4
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 个评论
Stephen23
Stephen23 2018-7-4
编辑:Stephen23 2018-7-4
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(...)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Types 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by