Adding values to cells as the indices increase

10 Ansichten (letzte 30 Tage)
Holmbrero
Holmbrero am 22 Dez. 2020
Kommentiert: Holmbrero am 4 Jan. 2021
Hi!
I have a n x m cell array and i want to add a multiple of a constant as n and m increases.
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3) ---- add constant to row nr 2.
(3,1) (3,2) (3,3) ---- add constant x2 to row nr 3.
I would also like to add a constant to columns as they increase.
Any suggestions?
  3 Kommentare
Holmbrero
Holmbrero am 22 Dez. 2020
I'll try to elaborate.
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)
(3,1) (3,2) (3,3)
I want to add a constant to row nr 2 ((2,1) (2,2) (2,3) ) and a multiple of the same constant to row nr 3 ((3,1) (3,2) (3,3) )
I also want to add another constant to column nr 1 ((1,2) (2,2) (2,3)) and a multiple of the same constant to columnt 3 ((1,3) (2,3) (3,3)).
I could just add them manually but i need the solution to work on a arbitrary nxm cell array.
Did that make my question easier to interpret?
Regards
Aaron Fredrick
Aaron Fredrick am 23 Dez. 2020
Yes I understand your question but, just to blear could you tell as the matrix increases each time,
a constant is added to 2nd row and a multiple of that to the 3rd row, and another constant to 1st column and a multiple of that to the 3rd column
OR
a constant is added to 2nd row and a multiple of that to the last row, and another constant to 1st column and a multiple of that to the last column
And, is the the multiplication of the constant is same for each time?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Gaurav Garg
Gaurav Garg am 28 Dez. 2020
Hi Holmbrero,
I understand that you wish to add multiples of constants to each row. I am providing with a pseudo-code to help you do that -
for i=1:size(c,1)
for j=1:size(c,2)
c{i,j} = c{i,j} + constant * i
end
end
Assuming that 'c' is your cell array, the above code would add each cell element with a constant, depending on the row number.
You can similarly replicate the code to add each element with constant, depending on column number, like this -
for i=1:size(c,1)
for j=1:size(c,2)
c{i,j} = c{i,j} + constant * j
end
end
  1 Kommentar
Holmbrero
Holmbrero am 4 Jan. 2021
Hi!
Sorry for my late reply.
I solved it by creating two new matrices with the added constants and then simply added these to the cell array.
The problem was somehow sort of hard to describe but i think your solution is also appliciable.
Thank you for your help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by