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 Kommentare

Azzi Abdelmalek
Azzi Abdelmalek am 21 Aug. 2015
Can you explain?
the cyclist
the cyclist am 21 Aug. 2015
Bearbeitet: the cyclist am 21 Aug. 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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

the cyclist
the cyclist am 21 Aug. 2015

0 Stimmen

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 Kommentar

Mathias Eriksen
Mathias Eriksen am 21 Aug. 2015
It worked. Thank you for your help, I appreciate it (Thumps up)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by