How to generate a matrix with number of lines inserted from keyboard

1 Ansicht (letzte 30 Tage)
I have to generate a matrix with i lines and j=i+1 collumns whose elements:
=2 if i=j;
=-1 if | i -j |=1;
=0 otherwise.
Here's my attempt at solving this problem:
prompt='Insert number of lines';
i=input(prompt)
j=i+1
% getting the number of lines and collumns
if i==j
A=2*ones(i,j);
end
% checking the first condition for i and j
else if abs(i-j)==1
A=-1*ones(i,j);
end
% checking the second condition for i and j
else
A=zeros(i,j)
% checking the third condition for i and j
end
end
A
% displaying matrix A
And I get this error when I try run it:
else if abs(i-j)==1
|
Error: Illegal use of reserved keyword "else".
I don't understand what I'm doing wrong.

Akzeptierte Antwort

Star Strider
Star Strider am 17 Jun. 2019
You had too many end statements. They were defining very short if blocks, and so some of those blocks did not begin correctly as a result.
Your code still has problems (it is not doing what you want it to). Since this appears to be a homework assignment, I will defer to you to get it running correctly.
This runs:
if i==j
A=2*ones(i,j);
% checking the first condition for i and j
elseif abs(i-j)==1
A=-1*ones(i,j);
% checking the second condition for i and j
else
A=zeros(i,j)
% checking the third condition for i and j
end
  8 Kommentare
Fiddl Sticks
Fiddl Sticks am 17 Jun. 2019
But that's not all elements of A equal to 5.
This would be all elements of A equal to 5:
A =
5 5 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
Star Strider
Star Strider am 17 Jun. 2019
In my example, I did not set all the elements equal to 5. I set only the elements where K1>K2 equal to 5. That was the point of the example.
Perhaps I should have phrased it: ‘... to set all elements of ‘A’ for K1 > K2 equal to 5

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by