I've initialized
t = 0:0.1:20;
L = zeros(4,4,length(t));
I'm trying to assign values to L as follows:
t=0:0.1:20;
for i =1:length(t),
L(:,:,i) = D*diag([(t.^2+1).^2*(sin(t).^2), (t.^2+1).^2*(sin(2*t).^2), (t.^2+1).^2*(sin(3*t).^2), (t.^2+1).^2*(sin(4*t).^2), (t.^2+1).^2*(sin(5*t).^2)])*D';
end
D is a constant matrix. Essentially, there is a different L for each time instant. When I execute this, it gives
Error using *
Inner matrix dimensions must agree.
I'm tried so many combinations of the dot operators since this is a long operation.
Can someone help identify the problem?
Thanks a lot.

 Akzeptierte Antwort

Matt J
Matt J am 17 Dez. 2017
Bearbeitet: Matt J am 17 Dez. 2017

1 Stimme

Define the t-data before the for loop
T=0:0.1:20;
for i =1:length(T),
t=T(i);
L(:,:,i) = D*diag([(t.^2+1).*(t.^2+1).*(sin(t).^2) (t.^2+1).*(t.^2+1).*
(sin(2*t).^2) (t.^2+1).*(t.^2+1).*(sin(3*t).^2) (t.^2+1).*(t.^2+1).*(sin(4*t).^2)
(t.^2+1).*(t.^2+1).*(sin(5*t).^2)])*D';
end
Also, it is a good ideas to use commas to explictly separate entries of a vector/matrix.

4 Kommentare

Deepayan Bhadra
Deepayan Bhadra am 17 Dez. 2017
Hi Matt, I've made the question more compact but the error persists since it seems not because of 't' definition but rather due to dot array multiplication. Could you check that? Thanks.
Matt J
Matt J am 17 Dez. 2017
What are the dimensions of D?
Matt J
Matt J am 17 Dez. 2017
Bearbeitet: Matt J am 17 Dez. 2017
This works for me, if D is 5x5,
T=0:0.1:20;
for i =1:length(T),
t=T(i);
L(:,:,i) = D*diag([(t.^2+1).*(t.^2+1).*(sin(t).^2),...
(t.^2+1).*(t.^2+1).*(sin(2*t).^2),...
(t.^2+1).*(t.^2+1).*(sin(3*t).^2),...
(t.^2+1).*(t.^2+1).*(sin(4*t).^2),...
(t.^2+1).*(t.^2+1).*(sin(5*t).^2)])*D';
end
Deepayan Bhadra
Deepayan Bhadra am 17 Dez. 2017
This is working now :) Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 17 Dez. 2017

0 Stimmen

In the computation for L you should be using t(i) not t

Community Treasure Hunt

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

Start Hunting!

Translated by