Problem with dimensions, filling a matrix in a for loop
1 次查看(过去 30 天)
显示 更早的评论
I am trying to work out the root mean square of my data in sections of 2 seconds. However, the dimensions the matrix Az1 etc is causing an error; he is my code;
clc
clear all;
A = mydata
A1=Az(:,1);
A2=Az(:,2);
A3=Az(:,3);
A1star = padarray(Az1,[0 3],'symmetric','post');
A2star = padarray(Az2,[0 3],'symmetric','post');
A3star = padarray(Az3,[0 3],'symmetric','post');
for i = 1:(length(Az)/120);
A1(i,:) = Az1star(i:i+120*i);
RMS1(i) = sqrt(mean(A1(i,:).^2));
A2(i,:) = Az2star(i:i+120*i);
RMS2(i) = sqrt(mean(A2(i,:).^2));
A3(i,:) = Az3star(i:i+120*i);
RMS3(i) = sqrt(mean(A3(i,:).^2));
end
Endpoint = length(RMS3);
Val = (length(Az)/60);
time = linspace(0, Val, Endpoint);
figure (1)
plot(time,RMS1)
figure (2)
plot(time,RMS2)
figure (3)
plot(time,RMS3)
Any tideas how to fix this problem?
2 个评论
dpb
2014-2-4
>> help padarray
padarray not found.
No idea what it is, is supposed to do.
But, there is no Az1, etc., so it's not surprising that would be a problem.
Plus, creating variables of different names with a subscript difference is a sign of poor data design choice--use another level of indexing or a structure or some other similar storage instead.
回答(2 个)
Walter Roberson
2014-2-4
You "clear all" so no variable "Az" or "Az1" etc will be in your workspace. Not unless "mydata" is a function that does assignin('caller') which is a bad idea.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!