for loop in matlab -


i want write script first asks inputs:

a = input('enter square matrix a: '); 

and if it's not square matrix, display error , ask again entering matrix a

and based on a's dimension, program in command line asks next following inputs: (suppose a's dimension 3)

enter 3x1-matrix b:  enter 1x3-matrix c: 

then, ask initial values x(0)'s, 3 x(0)'s in our situation:

the initial values: x1(0):  x2(0):  x3(0):  

(note: number of x(0)'s depends on a's dimension. can stores intial values in variables x1,x2 , x3)

how can code in matlab?

thanks in advance!

=======================

my try:

while(true) = input('enter square matrix a: '); sizea = size(a); if sizea(1) == sizea(2)     break; end     display('error: have enter square matrix!') end while(true) b = input('enter ' + sizea(1) + 'x1-matrix b: '); sizeb = size(a); if sizeb(1) == sizea(1) && sizeb(2) == 1     break; end     display('error: have enter ' + sizea(1) + 'x1-matrix!') end while(true) c = input('enter 1x' + sizea(1) + '-matrix c: '); sizec = size(a); if sizec(1) == 1 && sizec(2) == sizea(1)     break; end     display('error: have enter 1x' + sizea(1) + '-matrix!') end display('the initial values: '); % well, don't know how start writing code initial values 

========================

finally, got want

while(true) = input('enter square matrix a: '); sizea = size(a); if sizea(1) == sizea(2) && ndims(a) == 2     break; end     display('error: have enter square matrix!') end while(true) b = input(['enter ' , num2str(sizea(1)) , 'x1-matrix b: ']); sizeb = size(b); if sizeb(1) == sizea(1) && sizeb(2) == 1  && ndims(b) == 2     break; end     display(['error: have enter ' , num2str(sizea(1)) , 'x1-matrix!']) end while(true) c = input(['enter 1x' , num2str(sizea(1)) , '-matrix c: ']); sizec = size(c); if sizec(1) == 1 && sizec(2) == sizea(1)  && ndims(c) == 2     break; end     display(['error: have enter 1x' , num2str(sizea(1)) , '-matrix!']) end display('the initial values: '); i=1:sizea(1)     x(i) = input(['enter x' , num2str(i) , '(0): ']); end 

you haven't shown how far you've gotten or you've tried. remember not place request entire code, ask in solving specific issues.

however, don't want leave hanging there without help. so, can try using following functions write script. can edit post ask more specific question once have basic script working.

  1. look @ input function requesting user input
  2. use error function throw error.
  3. use size dimensions of array. use 2 output arguments [rows cols]=size(a) both dimensions.
  4. it's not enough check if rows==cols. you'll need confirm there 2 dimensions using ndims, if there more 2 dimensions , request 2 outputs size, combines second , higher dimensions second output. example, see [rows,cols]=size(rand(4,2,2))
  5. you can use isequal along of above verify if input dimensions matrices b , c correct.
  6. you can either store initial values cell suggested kwatford or vector. can't suggest 1 without knowing you're going it.

hope these helped started.


Comments