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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

KSSV
KSSV am 27 Mai 2022
n = 3 ;
s = 2 ;
iwant = zeros(n) ;
for i = 1:s
iwant(i,i)=1 ;
end
iwant

5 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

kainat rasheed
kainat rasheed am 27 Mai 2022
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

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by