Re: Replacing Part of a Matrix

*To*: mathgroup at smc.vnet.net*Subject*: [mg20273] Re: [mg20250] Replacing Part of a Matrix*From*: "David Park" <djmp at earthlink.net>*Date*: Sun, 10 Oct 1999 01:27:29 -0400*Sender*: owner-wri-mathgroup at wolfram.com

Wilson, Here is one routine. You may get others more elegant. ReplaceCenter[(a_)?MatrixQ, (b_)?MatrixQ] /; Dimensions[a] == ({n, m} = Dimensions[b]) + 2 := Module[{c = a}, Do[c[[i + 1,j + 1]] = b[[i,j]], {i, n}, {j, m}]; c] David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ >Hello all, > >I have a n x n matrix, call it A. > >I have a (n - 2)x(n - 2) matrix, call it B. > >I would like to keep the outer rows and columns >of A, but repalce the inner rows and columns with >thos of B to get a new C. > >I looked at the ReplacePart and other matrix and >list manipulation rules and couldn't quite find >one. > >I wrote a very gross module to do it. > >Does anyone have such a module in Mathematica they would >like to share. > >For example, > >c = replace_a_b[a, b] > >would return the desired result. > >Example: > >A = {{1,2,3,4},{5,6,7,8},{9,10,11,12}, >{13,14,15,16}} >B = {{20,30,},{40,50}} > >C = replace_a_b[A,B], would produce: > >C = {{1,2,3,4},{5,20,30,8},{9,40,50,12}, >{13,14,15,16}} > >Basically, this function just replaces the >interior (n-2)x(n-2) in the larger matrix. > >Can anyone help? > >By the way, thank you to all who responded with >such an easy and useful rectangular grid >generator. > >Thank you. > >Wilson Figueroa >flip at safebunch.com >http://safebunch.com > > >Sent via Deja.com http://www.deja.com/ >Before you buy. > >