Subdividing intervals from unequally spaced numbers

7 ビュー (過去 30 日間)
Angelo
Angelo 2023 年 7 月 12 日
移動済み: Voss 2023 年 7 月 12 日
Hi,
i want to generate points (say 11, variable xch) for a set of intervals defined by unequal spaced numbers (variable xn_ch). It seems that the code generates the points (xch) but with error, because xch vector dimension should not exceed the dimension of the initial generated numbers (xch, size=5). How to solve? Thanks in advance.
This is the code:
n=5
for i=1:n
xn_ch(i)=cos(pi*(2*i-1)/(2*n+2));
end
for i=1:n
xch=linspace(xn_ch(i),xn_ch(i+1),11)
end
xn_ch
This is the error:
Index exceeds the number of array elements. Index must not exceed 5.
Error in code (line 6)
xch=linspace(xn_ch(i),xn_ch(i+1),11)

回答 (1 件)

Manan Jain
Manan Jain 2023 年 7 月 12 日
Hi!
The error you're encountering occurs because the loop index i in the second loop exceeds the range of valid indices for the xn_ch array. In the last iteration of the loop, i becomes 6, while xn_ch has only 5 elements.
n = 5;
for i = 1:n
xn_ch(i) = cos(pi * (2 * i - 1) / (2 * n + 2));
end
for i = 1:n-1
xch = linspace(xn_ch(i), xn_ch(i+1), 11);
end
xn_ch
To solve this issue, you can modify the loop to iterate from 1 to n-1 instead of n.
I hope this helps!
  4 件のコメント
Angelo
Angelo 2023 年 7 月 12 日
編集済み: Angelo 2023 年 7 月 12 日
It works fine. Another question, hopefully my last, there is a double counting for the last point of each interval (the first for the next), see for example the value 0.7071 in the first column, repeated in the second and so on for the other two columns. I mean it is correct the subdivision (21 point for each subinterval) but the overall number of points is 84 with three more terms (i will use the numbers as x-values for a sum containing f(x) so i have addiction terms. How can avoid this problem?
Angelo
Angelo 2023 年 7 月 12 日
移動済み: Voss 2023 年 7 月 12 日
I found this:
b = unique(b(:).')
But is it possible to solve without adding new code rows?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSpecial Characters についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by