i get the error -"Unable to perform assignment because the left and right sides have a different number of elements"
For loop and matrices w/ different elements?
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I have the followling code which has values calculated that are inputs of two matrices A and B. The inputs are values that are calculated in a for loop of i=1:365 corresponding to 1 degree to 360 degrees. I need each value computed by dividing the matrices at each degree/iteration. Everything else works besides the matrix part. I am not including the portions of my code that calculate the inputs but know they are within the for loop
for i=1:360
    %All my stuff getting the inputs of the matrices
A(i)=[1 0 1 0 0 0 0 0
     0 1 0 1 0 0 0 0
    -R12x(i) R12y(i) -R32y(i) R32x(i) 0 0 0 1
     0 0 -1 0 1 0 0 0
     0 0 0 -1 0 1 0 0 
     0 0 R23y(i) -R23x(i) -R43y(i) R43x(i) 0 0 
     0 0 0 0 -1 0 0 0
     0 0 0 0 0 -1 1 0]
B(i)=[m2.*A2x(i)
    m2.*A2y(i)
    I2*a2
    m3*A3x(i)
    m3*A3y(i)
    I3*a3(i)
    m4*A4x(i)-F4x(i)
    0];
F(i)=A(i).\B(i)
end
Risposta accettata
  David Hill
      
      
 il 27 Ott 2021
        B(i)=[m2.*A2x(i);
    m2.*A2y(i);
    I2*a2;
    m3*A3x(i);
    m3*A3y(i);
    I3*a3(i);
    m4*A4x(i)-F4x(i);
    0];%need 8x1 matrix
5 Commenti
  David Hill
      
      
 il 27 Ott 2021
				Sorry, need to understand your variables. If you need to store all A matrices, you will need to make a 3-dimensional matrix.
A(:,:,i)=[1 0 1 0 0 0 0 0
     0 1 0 1 0 0 0 0
    -R12x(i) R12y(i) -R32y(i) R32x(i) 0 0 0 1
     0 0 -1 0 1 0 0 0
     0 0 0 -1 0 1 0 0 
     0 0 R23y(i) -R23x(i) -R43y(i) R43x(i) 0 0 
     0 0 0 0 -1 0 0 0
     0 0 0 0 0 -1 1 0];
B(:,i)=[m2.*A2x(i);m2.*A2y(i);I2*a2;m3*A3x(i);m3*A3y(i);I3*a3(i);m4*A4x(i)-F4x(i);0];
F(:,i)=A(:,:,i)\B(:,i);
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!