Hello
I need some help to change a matrix with a function in a m. file. which is called "add(A,B,I)"
A is the matrix, B is the new values and I is the position
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16];
B = [99 98; 22 23];
I = [3,2]
The function should return a result that looks like this
[1 2 3 4; 5 6 7 8; 9 99 98 12; 13 21 23 16]
I have tried google to find help with the coding in the m. file. Can anybody help me with this problem?

2 commentaires

Azzi Abdelmalek
Azzi Abdelmalek le 21 Août 2015
Can you explain?
the cyclist
the cyclist le 21 Août 2015
Modifié(e) : the cyclist le 21 Août 2015
The algorithm to get the result from the input is not clear (at least not to me).
EDIT: I think I figured out what you mean. You want to embed B into A, beginning at the indices defined by I. If that is what you mean, my answer does that.
I suggest you do not call your function "add" which is a MATLAB keyword. Maybe call it "insertSubmatrix" or something like that.

Connectez-vous pour commenter.

 Réponse acceptée

the cyclist
the cyclist le 21 Août 2015

0 votes

I think I figured out what you mean. Does this do what you want?
[m,n] = size(B);
A(I(1):(I(1)+(m-1)),I(2):(I(2)+(n-1))) = B

1 commentaire

Mathias Eriksen
Mathias Eriksen le 21 Août 2015
It worked. Thank you for your help, I appreciate it (Thumps up)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by