Index exceeds the number of array elements (1).
1 回表示 (過去 30 日間)
古いコメントを表示
Please help me with resolving the error. Below is my code.
clear all; close all; clc;
x1=11500.2;x2=11477.9;x3=11417.3;x4=11426.4;x5=11413;x6=11382.9;x7= 11375.1;x8=11347.9;x9=11351.1;x10=11329.30;
x = [x1 x2 x3 x4 x5 x6 x7 x8 x9 x10]
plot (t,x)
N_measurements=1;
N_basis=32;
index=randi([200000,300000],1,N_measurements);
Xdot=zeros([1,N_measurements]);
for ni=1:N_measurements
Xdot(ni)=(x1(index(ni)+1)-x1(index(ni)))/dt;
end
採用された回答
Cris LaPierre
2021 年 5 月 26 日
It is unclear to me what you are tryign to do. The issue is you are using indexing to extract a value from x1. x1 has 10 values in it, so you should be indexing using a number between 1 and 10. However, you create a random index number between 200000 and 300000 to extract a value from x1.
0 件のコメント
その他の回答 (1 件)
Daniel Bengtson
2021 年 5 月 26 日
You are attempting to access an index of x1 that does not exist.
index=randi([200000,300000],1,N_measurements);
assigns a random value between 200000 and 300000 to the variable 'index' which you then use to try to access data in x1 within your for loop.
x1(index(ni)+1)
Only x1(1) actually exists by your assigments, and your x1(index) is trying to access x1(200000)
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!