Привіт, я не можу зрозуміти вихідні дані наступної функції.
ListPointPlot3D[Table[Sin[x^2 + y],
{x, 0, 3, 0.15}, {y, 0, 3, 0.15}],
AxesLabel -> {"X axis", "Y axis", "Z axis"}
]
Я сказав X і Y бути в інтервалі [0,3]
Але діаграма показує зовсім інший діапазон для цих змінних приблизно від [0,21]
.
Як це сталося?
Відповіді:
7 для відповіді № 1Ти дала ListPointPlot3D
матриця значень. Кожне значення інтерпретується як "висота" (z-координата) та матричні індекси значень як координати x і y.
Можливо, ви хочете
ListPointPlot3D[Join @@ Table[{x, y, Sin[x^2 + y]}, {x, 0, 3, 0.15}, {y, 0, 3, 0.15}]]
або
Plot3D[Sin[x^2 + y], {x, 0, 3}, {y, 0, 3}]
Погляньте також на документи Mesh
опція Plot3D
.
5 для відповіді № 2
Ви можете скористатись DataRange
можливість вказати область осей:
ListPointPlot3D[Table[Sin[x^2 + y], {y, 0, 3, 0.15}, {x, 0, 3, 0.15}],
AxesLabel -> {"X axis", "Y axis", "Z axis"},
DataRange -> {{0, 3}, {0, 3}}]
Зауважте, що я також переключив x
і y
ітератори в Table
, оскільки Table[..., {x, ..}, {y, ...}]
відповідає Table[Table[..., {y, ...}], {x, ...}]
. (Ви можете бачити, що це правильно, змінивши один із 0.15
розміри кроків до 1
.)
4 для відповіді № 3
Всі 2D List*
графічні функції приймають a List
люблю {{x1,y1},{x2,y2},...}
як їхній перший аргумент, і це змова створити сюжет x
і y
балів правильно. Однак якщо ви вказали лише один набір координат як {y1,y2,...}
, тоді він використовує положення кожного з них y_i
s для кліщів x. Аналогічно для всіх List*3D
графічні функції.
Отже, у вашому випадку існує лише одна змінна - z
змінна, і вона просто використовує індекс окремого підрозділуList
s для x
і y
кліщі. Спробуйте це замість цього:
ListPointPlot3D[
Flatten[Table[{x, y, Sin[x^2 + y]}, {x, 0, 3, 0.15}, {y, 0, 3,
0.15}], 1], AxesLabel -> {"X axis", "Y axis", "Z axis"}]
1 для відповіді № 4
видається, що кожен "зразок" не є фактичним значенням x / y, оскільки між 0 і 3 є 20 0,15 "s, і це розмір кроку вашої таблиці