MATLAB: failed creating a diagonal matrix

I have to make a diagonal matrix using diag command in Matlab, the numbers of the main diagonal are 1,2 and 3 . I have tried typing this code:
x=[1 2 3]; matriz=diag(x)
matriz =
1 2 3
but there is not the diagonal 3x3 matriz, please, could you help me solving this problem? Thanks! PS. As far as I'm concerned, it is supposed to show this:
B=[1 0 0;0 2 0;0 0 3]
B =
1 0 0
0 2 0
0 0 3

回答(1 个)

You probably have inadvertently created a variable named 'diag' in your workspace, and hence diag(x) is simply indexing into this variable. Clear that variable from your workspace and use a different name in the future. To confirm that this is the problem you can type the following:
which diag

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品

版本

R2021a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by