I'm having a divide problem in matrices

1 visualizzazione (ultimi 30 giorni)
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]

Risposta accettata

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

Più risposte (2)

Thorsten
Thorsten il 7 Apr 2017
Modificato: Thorsten il 7 Apr 2017
P = diag(1./s);

Andrei Bobrov
Andrei Bobrov il 7 Apr 2017
Modificato: Andrei Bobrov il 7 Apr 2017
P_out = P./s;
or just
P = eye(6)./s;
  1 Commento
Muhendisleksi
Muhendisleksi il 7 Apr 2017
"Error using ./ Matrix dimensions must agree."
Gave the error

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by