How to generate a matrix with number of lines inserted from keyboard
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Fiddl Sticks
am 17 Jun. 2019
Kommentiert: Star Strider
am 17 Jun. 2019
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.
0 Kommentare
Akzeptierte Antwort
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
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’
Weitere Antworten (0)
Siehe auch
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!