extract small vector from large vector

17 views (last 30 days)
Chaudhary P Patel on 8 Apr 2022
Commented: Voss on 15 Apr 2022
b=[1;2;3;4;5;6;7;8;9;10;11;12;13;14;15];
a=zeros(3,1);
c=([a;b]);
d=(c(1,1):c(6,1));
e=(c(4,1):c(9,1));
please suggest me the way how can i write the code for vector d and e.
i want d vector as; d= [0;0;0;1;2;3] and
vector e as ; e=[1;2;3;4;5;6]

Voss on 8 Apr 2022
b = [1;2;3;4;5;6;7;8;9;10;11;12;13;14;15];
a = zeros(3,1);
c = [a; b]
c = 18×1
0 0 0 1 2 3 4 5 6 7
d = c(1:6,1) % ",1" not necessary since c only has one column
d = 6×1
0 0 0 1 2 3
e = c(4:9) % ",1" omitted
e = 6×1
1 2 3 4 5 6
Chaudhary P Patel on 15 Apr 2022
thank you sir, in this loop i am calculating the f_s but when i am seeing the result the output is comin wrong.
utdelt=([1;2;3;4;5;6;7;8;9;10;11;12;13;14;15]);
Ktts=rand(6,6);
nodof=3;
for i=1
for n=1:1:5
if n==1
Utdelt = [zeros(nodof,1); utdelt(1:nodof,i)];
else
Utdelt = utdelt( 1+(n-2)*nodof : 6+(n-2)*nodof , i );
end
Utdelt
% presumably, you would do something with Utdelt at this point
end
f_s=Ktts*Utdelt;
end
Voss on 15 Apr 2022
That uses the value of Utdelt that was calculated for n=5. Previously calculated Utdelt values, i.e., for n=1 through n=4, are not used. Maybe that's what's wrong.

Categories

Find more on Logical in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!