i dont know whats the problem with this fails with variable test
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
function [summa index]=max_sum(v,n)
m=zeros(1,length(v));
x=zeros(1,length(v));
j=1;
if n>length(v)
summa=0;
index=-1;
elseif n<length(v)
for ii=1:length(v)
if ii<=length(v)-n+1
x=v(:,ii:n+ii-1);
m(ii)=sum(x);
else
x=v(:,ii:length(v));
z=v(:,1:j);
m(ii)=sum(x)+sum(z);
j=j+1;
end
end
[y i]=max(m);
summa=max(y);
index=max(i);
else
summa=sum(v);
index=1;
end
2 commentaires
Mario Malic
le 1 Août 2020
Modifié(e) : Mario Malic
le 1 Août 2020
We also don't know what's the problem. Could you tell us?
What is this?[summa index]
Réponses (1)
Image Analyst
le 1 Août 2020
Modifié(e) : Image Analyst
le 1 Août 2020
When you do
m(ii)=sum(x);
x is a 2-D array. So sum(x) is a 1-D array, because it's summing each column, and you're trying to put a whole array into a single element, the ii'th element of m. What do you intend to sum? The whole array? If so, do this:
m(ii)=sum(x(:));
6 commentaires
Image Analyst
le 2 Août 2020
I don't think you need the if and for loop. You can simply use movmean().
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!