MATLAB Answers

# Completing elements of a matrix

1 view (last 30 days)
Karanvir singh Sohal on 1 Mar 2021
Commented: Jan on 5 Mar 2021
I have a matrix a
from a I have generated a new matrix b which have 2 new elements for 1 element of a
a = [2;3]
[m,n]=size(a)
for i=1:m
b=[1.5*(a(i)) 2*(a(i))]
end
I want to generate a new matrix 'c' such that it includes all the sets
expected results as
c = [2 3;2 4;3 4.5;3 6]
##### 2 CommentsShowHide 1 older comment
Karanvir singh Sohal on 1 Mar 2021
I want to generate c matrix. For a(1,1) i have 2 values in b i.e. b=[1.5*2 2*2] Which gives b=[3 4] And similarly for a(2,1) I'll have b=[4.5 6]
I want new matrix c
C=[a(1) 1.5*a(1); a(1) 2*a(1); a(2) 1.5*a(2); a(2) 2*a(2)]

Sign in to comment.

### Accepted Answer

Karanvir singh Sohal on 3 Mar 2021
Well I got what i was trying to do :)
Thanks @Jan for your time and help
L=4
X_Range=[L*1000/16 L*1000/10];
Shut= [152.4; 228.6; 304.8; 381.0; 457.2; 533.4; 609.6; 685.8; 762.0; 838.2; 914.4; 990.6; 1066.8];
X = Shut(Shut>=X_Range(1,1) & Shut<= X_Range(1,2));
[m,n]=size(X);
index = 0;
for i=1:m
Y_Range =[1.5*X(i) 2*X(i)];
Y = Shut(Shut>=Y_Range(1,1) & Shut<= Y_Range(1,2));
[mY,nY]=size(Y);
for j=1:mY
index=index+1;
XD(index)=X(i);
YD(index)=Y(j);
end
end
D= [reshape(XD,[],1) [reshape(YD,[],1)]]
##### 3 CommentsShowHide 2 older comments
Jan on 5 Mar 2021
These lines do the same as your loop:
for j=1:mY
index=index+1;
XD(index)=X(i);
YD(index)=Y(j);
end
but more efficiently.

Sign in to comment.

### More Answers (1)

Jan on 1 Mar 2021
a = [2; 3];
b = [1.5; 2];
c = kron(a, [ones(size(a,1), 1), b])
##### 5 CommentsShowHide 4 older comments
Jan on 2 Mar 2021
I do not get an idea of what you want to achieve.

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!

Translated by