creating a diagonal matrix?
Show older comments
Hi,
I want to create a diagonal matrix which has the elements like this: q1,q1,q2,q2,...,qm,qm
q is a function and has m different values for m different x-values
Could anyone help me please?
Thank you!
Answers (3)
Simon
on 12 Dec 2013
Hi!
diag(q)
2 Comments
FULYA SEREF
on 12 Dec 2013
Simon
on 13 Dec 2013
So, if you have your function q, what will be the output? Is it a m-element vector? Or just a scalar value?
If you have your m-element vector X, you can do
ind = 1:m;
ind = [ind; ind];
diag(X(ind(:)))
If you get scalars only you have to create it in a loop.
Sean de Wolski
on 12 Dec 2013
diag(q(1,2,3))
And for more info:
doc diag
1 Comment
FULYA SEREF
on 12 Dec 2013
Jos (10584)
on 13 Dec 2013
Like this?
q = [10 20 30] ;
q = q(floor(1:.5:numel(q)+.5)) % expand (there are many other ways to do this!)
diag(q)
Categories
Find more on Operating on Diagonal Matrices 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!