How to write code for diagonal matrix with specified input ?

For n*n diagonal matrix :
n = input (' enter the order of the matrix : ');
s = input (' enter the value of s : ');
My question is if m = 3 and s = 1 then I should get my matrix as [a11] = 1 and remaining entries 0
if m = 3 and s = 2 then [a11] = 1 , [a22] = 1 and remaining entries o.
please help me out with this :)

2 comentarios

We recommend that you do not dynamically create variable names such as a93829382.
a(i, i) = 1

Iniciar sesión para comentar.

 Respuesta aceptada

n = 3 ;
s = 2 ;
iwant = zeros(n) ;
for i = 1:s
iwant(i,i)=1 ;
end
iwant

5 comentarios

Thankyou !!
Note that loop can be avoided.
I have another doubt sir,
For n*n diagonal matrix :
n = input (' enter the order of the matrix : ');
s = input (' enter the value of s : ');
I want to display my 1st (1,1) entry as "n" and the remaining entries of the diagonal as "n-1"
Is it possible to use the same for loop or I have to use if else statement ?
You could initialize (1,1) and loop from 2
You could loop from 1 but change (1,1) after
You could loop and have an if to figure out what to do

Iniciar sesión para comentar.

Más respuestas (1)

v = [1 2 3 4 5];
use this matrix to use specific numbers like this
after that write it as
D = diag(v)
v = [1 2 3 4 5];
D = diag(v)
run the code

Categorías

Etiquetas

Preguntada:

el 27 de Mayo de 2022

Comentada:

el 30 de Mayo de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by