Re: Multiply a constant to a matrix column
- To: mathgroup at smc.vnet.net
- Subject: [mg16328] Re: [mg16266] Multiply a constant to a matrix column
- From: BobHanlon at aol.com
- Date: Sun, 7 Mar 1999 01:05:48 -0500
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 3/5/99 11:57:06 AM, heahn at nanum.kaeri.re.kr writes:
>I would like to multiply a constant number to a certain column of an existing
>matrix in Mathematica and I am having a hard time.
>
>First, I have a 1000 x 3 matrix A. There is no command that allow me to
>multiply a constant number to a specific column (let say I want to multiply
>100 to the second column), so I extract three columns
>separately using
>
>A1 = A[Range[1,1000],Range[1,1]];
>A2 = A[Range[1,1000],Range[2,2]];
>A3 = A[Range[1,1000],Range[3,3]];
>
>Then I multiply a constant to a extracted
>column which is a vector now. So I did
>
>A2b = 100 A2;
>
>Then I recombined the columns as
>
>A4 = ColumnJoin[A1,A2b,A3]
>
>but I found out that ColumnJoin command does not worked the way I expected
>it to be.
>
>Could anyone know a simple solution to this problem?
>
Try this
multCol[x_List?MatrixQ, mult_, col_Integer?Positive] :=
Module[{y = Transpose[x]},
Transpose[ReplacePart[y, mult* y[[col]], col]]];
x = Array[a, {4, 7}];
multCol[x, c, 5]