How to use linspec

23 ビュー (過去 30 日間)
Ann Little
Ann Little 2019 年 12 月 4 日
回答済み: Walter Roberson 2019 年 12 月 4 日
given the question: Determine z = 2x^3 + 3y^2 + 5, when x and y vary from -4 to 4 with a spacing of 1.
solution: x = linspace(-4,4,9);
y = linspace(-4,4,9);
z = 2*x^3+3*y^2+5
Question: why is the "n" value for the linspace of x and y = 9 and not 1?

採用された回答

Walter Roberson
Walter Roberson 2019 年 12 月 4 日
The parameters of linspace are
  1. starting value
  2. ending value
  3. total number of values to use. In the below discussion I will refer to this as n
The output values are constructed so that the starting value and ending value are used exactly, and the (n-2) intermediate values are spaced approximately (ending - starting)/(n-1) apart .
So with -4, -4, 9, the (9-2)=7 intermediate values are spaced (4-(-4))/(9-1) = 8/8 = 1 apart, so -4 (used exactly), then -4+1*1 = -3, -4+1*2 = -2, -4+1*3 = -1, -4+1*4 = 0, -4+1*5 = +1, -4+1*6 = +2, -4+1*7 = +3, then +4 (used exactly).
This is not exactly the code that is used; the exact code has some subtle differences in the last few bits due to floating point round-off in how it is really calculated.

その他の回答 (1 件)

galaxy
galaxy 2019 年 12 月 4 日
n = 9 when user want to generate integer cases of x in [-4, 4]
if n = 1, so x alway = 4, it is no meaning

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by