Matrix element changing with loop

2 Ansichten (letzte 30 Tage)
Hans123
Hans123 am 16 Feb. 2019
Bearbeitet: Stephen23 am 17 Feb. 2019
I keep getting Dimensions of matrices being concatenated are not consistent error.
for k=1:61
a(:,k)=angle(k,:);
A=[cosd(5) -sind(a); -sind(5) cosd(a)];
x=A\B;
end
I don't get what I am doing wrong

Akzeptierte Antwort

Stephen23
Stephen23 am 16 Feb. 2019
Bearbeitet: Stephen23 am 16 Feb. 2019
5 is a scalar. A scalar has size 1x1.
On the second loop iteration a has size Nx2 (we don't know the actual size because you did explain what size angle is).
Then you calculate some trig functions using those 5 and a, giving 1x1 and Nx2 arrays. You then try to concatenate those arrays like this:
[1x1,Nx2;1x1,Nx2]
which is an error if N>1 because then the number of rows are different, which means that those arrays cannot be concatenated together horizontally:
  • To horizontally concatenate arrays they must have the same number of rows.
  • To vertically concatenate arrays they must have the same number of columns.
Check the sizes of the arrays that you are trying to concatenate and you will find that one/both of those conditions are not fulfilled.
  2 Kommentare
Hans123
Hans123 am 16 Feb. 2019
I am not 100% sure on how to correct the issue, I just need the matrix to have different values for angle after each iteration how to achieve this? I pasted the code below
angle=-30:1:30;
B= [1200 ; 0 ];
for k=1:61
a(:,k)=angle(k,:);
A=[cosd(5) -sind(a); -sind(5) cosd(a)];
x=A\B;
end
Stephen23
Stephen23 am 17 Feb. 2019
Bearbeitet: Stephen23 am 17 Feb. 2019
This avoids the error:
a = angle(k);
Only you can decide if this is correct or not.
Also note that you completely discard all x arrays except fot the last one, making your entire for loop superfluous. You might want to use some indexing into an output array.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by