Plotting using a for loop in Matlab and finding the highest three consecutive value, given imported spreadsheet table of 1x100 called 'P'?

for n = 1:100
PP = P(n,1);
x = n;
plot(x, P);
hold on
end
The code above doesn't work. Please help fix it and make sure to display three consecutive values that have the largest sum.

回答 (2 件)

Voss
Voss 2021 年 12 月 23 日
編集済み: Voss 2021 年 12 月 23 日
P = randn(1,8);
display(P);
P = 1×8
0.9215 -0.2768 0.7009 1.2080 0.0836 -0.7582 1.4873 -0.3553
Npts = 3;
[~,idx] = max(movsum(P,Npts,'EndPoints','discard'));
display(P(idx+(0:Npts-1)));
0.7009 1.2080 0.0836
Hi, the followed code could be easier to understand:
P = rand(100,1);
mx = -Inf;
for i = 1:98
mx = max(mx, sum(P(i:i+2)));
end
mx

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2021 年 3 月 31 日

回答済み:

2022 年 11 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by