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.

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by