Change a matrice with a function

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 个评论

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.

请先登录,再进行评论。

 采纳的回答

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 个评论

It worked. Thank you for your help, I appreciate it (Thumps up)

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by