I'm having a divide problem in matrices

P =[ 1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1]
s =[0.6500
0.8000
1.0000
1.4000
1.5000
1.9500]
P=diag(eye(6)./s) % I'm getting an error here.
% This is the matrix I want to create.
P= [ 1.5385 0 0 0 0 0
0 1.2500 0 0 0 0
0 0 1.0000 0 0 0
0 0 0 0.7143 0 0
0 0 0 0 0.6667 0
0 0 0 0 0 0.5128]

 Accepted Answer

KSSV
KSSV on 7 Apr 2017
Edited: KSSV on 7 Apr 2017
P=diag(ones(6,1)./s)
Or
P=diag(diag(P)./s)

More Answers (2)

P_out = P./s;
or just
P = eye(6)./s;

1 Comment

"Error using ./ Matrix dimensions must agree."
Gave the error

Sign in to comment.

Categories

Tags

Community Treasure Hunt

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

Start Hunting!