Adding values to cells as the indices increase

3 vues (au cours des 30 derniers jours)
Holmbrero
Holmbrero le 22 Déc 2020
Commenté : Holmbrero le 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 commentaires
Holmbrero
Holmbrero le 22 Déc 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 le 23 Déc 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?

Connectez-vous pour commenter.

Réponse acceptée

Gaurav Garg
Gaurav Garg le 28 Déc 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 commentaire
Holmbrero
Holmbrero le 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!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by