i dont know whats the problem with this fails with variable test

1 vue (au cours des 30 derniers jours)
Shekhda Dhrumil
Shekhda Dhrumil le 1 Août 2020
Commenté : Image Analyst le 2 Août 2020
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
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]
Shekhda Dhrumil
Shekhda Dhrumil le 1 Août 2020
here v is an array,n is a number.
we have to make continuous group of n element from v.
then we need to find whose sum is highest and then we need to provide that highest sum as output in summa and the index of first element of that group in output argument index.

Connectez-vous pour commenter.

Réponses (1)

Image Analyst
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
Shekhda Dhrumil
Shekhda Dhrumil le 2 Août 2020
so that i can copy that particular part of that vector in other vector and then add its all element to find sum of that part.
is there any simple alternative to that problem?
Image Analyst
Image Analyst le 2 Août 2020
I don't think you need the if and for loop. You can simply use movmean().

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by