# Given a Matrix A, create a row vector of 1s that has same number of elements as A has rows

1.025 views (last 30 days)

Show older comments

Gaurav Srivastava
on 4 Jun 2019

Commented: DGM
on 21 Feb 2023 at 8:06

### Accepted Answer

Manali Gupta
on 20 May 2021

Edited: MathWorks Support Team
on 20 May 2021

R_vector = ones(1,size(A,1)); C_vector=ones(size(A,2),1); result = R_vector*A*C_vector;

##### 4 Comments

Mariam Aldeepa
on 2 Jan 2021

Why when you calculate the result multiplied the matrix "A" with another two matrices ?

### More Answers (9)

Alex Mcaulley
on 4 Jun 2019

##### 2 Comments

Khom Raj Thapa Magar
on 28 Aug 2020

Edited: DGM
on 21 Feb 2023 at 7:26

% Given

A = [1:5; 6:10; 11:15; 16:20];

row_vec = ones(1,size(A,1))

column_vec = ones(length(A),1)

result = row_vec * A * column_vec

##### 1 Comment

Sudhanshu Rasal
on 5 May 2020

Edited: DGM
on 21 Feb 2023 at 7:58

Simple way to do this question is

X=[1 1 1 1]

Y=[1;1;1;1;1]

result=X*A*Y

????????

##### 3 Comments

DGM
on 21 Feb 2023 at 7:34

Edited: DGM
on 21 Feb 2023 at 7:37

The point of writing a program is to have the computer do the work. Literally writing out the vectors manually makes as much sense as calculating the inner product on paper and writing

result = 210; % this is my entire program

Both examples will fail for obvious reasons if the size of A changes.

Tushar Parmar
on 11 May 2020

A = [1:5; 6:10; 11:15; 16:20]

B(1:4)=1;

f=B*A

C(1:5)=1;

C=C'

result=f*C

##### 6 Comments

DGM
on 21 Feb 2023 at 7:38

Arakala Gautham
on 4 Apr 2020

R_vector = ones(1,size(A,1));

C_vector=ones(size(A,2),1);

result = R_vector*A*C_vector;

##### 4 Comments

Rishabh Nirala
on 20 May 2020

Edited: DGM
on 21 Feb 2023 at 7:58

A = [1:5; 6:10; 11:15; 16:20];

C = [1;1;1;1;1]

R = [1 1 1 1 ]

P = R * A

result = P*C

ANSWER = 210

##### 1 Comment

DGM
on 21 Feb 2023 at 7:39

Sneham Shrikant Vaidya
on 27 May 2020

Edited: DGM
on 21 Feb 2023 at 7:42

A = [1:5; 6:10; 11:15; 16:20];

A

x = [1 1 1 1 ]

y = [1;1;1;1;1]

z = A*y

result =x*z

you can also perform this way as we know z =(lxm)*(mxn) so we first multiply A*y as their inner dimension ara same

then we obtain result matrix z that has inner dimension equal to x so now we can multiply x*z to get final ans

##### 1 Comment

DGM
on 21 Feb 2023 at 7:46

Use size() to find the size of A; use ones() to generate the vectors programmatically. Otherwise, this fails if the size of A changes.

Adding explanations to your answers is good though.

VISHWA D
on 22 Jun 2020

A = [1:5; 6:10; 11:15; 16:20];

row_vector=[1 1 1 1 1]

col_vector=[1; 1; 1; 1]

result=(row_vector*(A'))*(col_vector)

##### 2 Comments

DGM
on 21 Feb 2023 at 7:51

Edited: DGM
on 21 Feb 2023 at 7:52

Chintan
on 21 Feb 2023

row_vector=ones(size(A(:,1)))'

coloumn_vector=ones(size(A(1,:)))'

result=row_vector*A*coloumn_vector

##### 1 Comment

DGM
on 21 Feb 2023 at 8:06

I suppose that's one way, but size() supports dimension specification, which would avoid the need to address vectors of A or to transpose anything.

Also note that the ctranspose, ' operator is the complex conjugate transpose. If you just want to reorient a vector or matrix, use transpose, .' instead.

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!