Square Matris (diagonal)

With the Nested For loop, the diagonals line number according to the value entered by the user.
I want to write a code that creates a square matrix as many as the number that the user enters, and the other elements that show are zero.Like this if users input 4, i want to see this
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4

回答(1 个)

n = 4 ;
iwant = diag(1:n)
iwant = 4×4
1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4
with loop:
n = 4 ;
iwant = zeros(n) ;
for i = 1:n
iwant(i,i) = i ;
end
iwant
iwant = 4×4
1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4

9 个评论

This is not woking did you try it?
KSSV did try it. The output you see above for iwant is the output of a MATLAB run.
n=input('Bir sayi giriniz=');
k=diag(1:n);
for i=1:n
k(n,n)=n;
end
It happened when I type it like this but k command did not appear in the window
n=input('Bir sayi giriniz=');
k=diag(1:n);
for i=1:n
k(n,n)=n;
end
please can you try it again? i can't see k on command window
Why would you see k in the command window? You have semi-colons after each of your assignment statements, and that means that you do not want any output from the statement. The only output you ask for in the code is the prompt for the input() statement.
You have not taken the output of k. Try printing/ viewing k.
because i have to see k on command window :(
n=input('Bir sayi giriniz=');
k=diag(1:n) %notice semi-colon removed
for i=1:n
k(n,n)=n %notice semi-colon removed
end
A statement that ends with a semi-colon does not display its value.
A statement that does not end with a semi-colon always displays its value if it was an assignment statement; if it was not an assignement statement, then in some cases it will show the value and in other cases it will not show the value, depending exactly what you were asking for.
i get it thank youuu

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

标签

提问:

2021-3-22

编辑:

Jan
2021-3-24

Community Treasure Hunt

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

Start Hunting!

Translated by