Obtaining a sub-matrix based on some condition
3 views (last 30 days)
Show older comments
Raghavendra Reddy P
on 31 Jul 2017
Commented: Raghavendra Reddy P
on 31 Jul 2017

Hello, I have a 10*3 matrix. 1st column represents Type of load(T), 2nd & 3rd are active(P) and Reactive (Q) Power loads. T columns contains 1, 2, 3 numbering indicating residential, commerial and industrial type of load.
Now, i just want a P and Q column such that if T=1, i wanted to multiply corresponding row of P & Q values with 3, similary if T=2 (and T=3), i wanted to multiply corresponding row of P & Q with 5 and 7 respectively. finally, i want a matrix 10*2, which contains only P&Q columns. i have attached document for better understanding. Please help me in this regards.
0 Comments
Accepted Answer
KSSV
on 31 Jul 2017
L = [1 2 1 3 3 3 1 3 1 2 ;400 40 90 80 55 45 35 40 30 20 ; 60 30 0 15 55 0 30 30 15 20]';
iwant = zeros(size(L)) ;
idx = unique(L(:,1)) ;
Val = [3 5 7] ;
for i = 1:length(idx)
pos = L(:,1)==idx(i) ;
iwant(pos,:) = [L(pos,1) Val(i)*L(pos,2) Val(i)*L(pos,3)] ;
end
3 Comments
More Answers (0)
See Also
Categories
Find more on Surface and Mesh Plots 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!