Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 13:04 
Не в сети
Начинающий
Зарегистрирован:
14 дек 2013, 12:51
Сообщений: 27
Cпасибо сказано: 2
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Как записать массив координат вершин x,y и обратиться к одной компоненте X внутри Table когда задаются 10 точек?
p0=Dynamic[Table[….
p1=Dynamic[Table[….
Point[{p0,p1}]
Ошибка.
Point[p0[1],p1[2]]
Ошибка.
Point[p0[[1]],p1[[2]]]
Ошибка

Суть: По одной Table строиться точки. Теперь мне нужны X их координаты внутри другой Table.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 13:23 
Не в сети
Одарённый
Зарегистрирован:
27 май 2015, 19:47
Сообщений: 131
Cпасибо сказано: 3
Спасибо получено:
31 раз в 29 сообщениях
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Если я правильно понял, то так.
pointX = Table[i, {i, 1, 10}];
pointY = Table[i, {i, -5, 5}];

Graphics@Point[{pointX[[1]], pointY[[1]]}]


Лучше координаты точек задавать в одной функции Table.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 15:51 
Не в сети
Начинающий
Зарегистрирован:
14 дек 2013, 12:51
Сообщений: 27
Cпасибо сказано: 2
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
SAVANTOS писал(а):
одной функции Table.

А как если в одной Table? Выдает огромные формулы…

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 16:00 
Не в сети
Одарённый
Зарегистрирован:
27 май 2015, 19:47
Сообщений: 131
Cпасибо сказано: 3
Спасибо получено:
31 раз в 29 сообщениях
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Excalibur921 писал(а):
А как если в одной Table? Выдает огромные формулы…


Смотря как вычисляются координаты точек.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 16:09 
Не в сети
Начинающий
Зарегистрирован:
14 дек 2013, 12:51
Сообщений: 27
Cпасибо сказано: 2
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
(*---------------------*)   
p0=Dynamic[Table[
{
If[NaidenUgol>2*Pi,NaidenUgol=NaidenUgol-(2*Pi)];
NaidenUgol=NaidenUgol+ShagUgla;
xA+Cos[NaidenUgol]*AB,
yA+Sin[NaidenUgol]*AB
},{i,0,PolozeniRasceta}]];
RGBColor[0,0,0],
PointSize[0.02],
Point[p0],
(*---------------------*)


Следующая таблица должна рисовать
P1=Dynamic[Table[…
Где должны браться отдельно “xA+Cos[NaidenUgol]*AB,” и “ yA+Sin[NaidenUgol]*AB” от p0 таблицы.

В С++ указывают типа array[i] и все работает, тут так нельзя, array не могут строить точки как не пытался.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 16:21 
Не в сети
Одарённый
Зарегистрирован:
27 май 2015, 19:47
Сообщений: 131
Cпасибо сказано: 3
Спасибо получено:
31 раз в 29 сообщениях
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Обращение к элементам списка происходит через функцию Part (сокращённый вариант [[ ]]).
data= {{1,2},{3,4},{5,6}};
data[[1]] (* результат {1,2} *)
data[[1,1]] (* получится 1 *)

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 16:54 
Не в сети
Начинающий
Зарегистрирован:
14 дек 2013, 12:51
Сообщений: 27
Cпасибо сказано: 2
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Не работает.
Код уже внутри Graphics.
(*-----м<а0сAсAи8в2 к:о>о>р@д4и8н=а0тB B----------------*)   
p0=Dynamic[Table[
{
If[NaidenUgol>2*Pi,NaidenUgol=NaidenUgol-(2*Pi)];
NaidenUgol=NaidenUgol+ShagUgla;
xA+Cos[NaidenUgol]*AB,
yA+Sin[NaidenUgol]*AB
},{i,0,PolozeniRasceta}]];
RGBColor[0,0,0],
PointSize[0.02],
Point[p0],
(*-----м<а0сAсAи8в2 к:о>о>р@д4и8н=а0тB B----------------*)

(*-----м<а0сAсAи8в2 к:о>о>р@д4и8н=а0тB С!----------------*)
NaidenUgol=1;
p1=Dynamic[Table[ (*-----о>шHи8б1к:а0----------------*)
{
NaidenUgol=NaidenUgol+ShagUgla;
p0[[1,1]]+Cos[NaidenUgol]*0.2,
p0[[1,2]]+Sin[NaidenUgol]*0.2
},{i,0,PolozeniRasceta}]];
RGBColor[0,0,0],
PointSize[0.02],
Point[p1]
(*-----м<а0сAсAи8в2 к:о>о>р@д4и8н=а0тB С!----------------*)

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 17:06 
Не в сети
Одарённый
Зарегистрирован:
27 май 2015, 19:47
Сообщений: 131
Cпасибо сказано: 3
Спасибо получено:
31 раз в 29 сообщениях
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Можете отправить весь код в notebook?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 17:17 
Не в сети
Начинающий
Зарегистрирован:
14 дек 2013, 12:51
Сообщений: 27
Cпасибо сказано: 2
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Deploy[
Graphics[
{
PolozeniRasceta = 10;(*----Сколько положений B вокруг A считать*)
ShagUgla = (2*Pi)/PolozeniRasceta;
xA = 0;
yA = 0;
xB = 0.25;
yB = 0.25;
xC = 0.6;
yC = 0.5;
xD = 0.8;
yD = 0;
AB = Dynamic[
EuclideanDistance[{xA, yA}, {xB, yB}]];(*----длинна AB*)
StartUgol =
Dynamic[Mod[ArcTan[xB - xA, yB - yA],
2 Pi]];(*----стартовый угол AB*)

NaidenUgol = StartUgol;
a0 = Dynamic[
If[(xB - xC)*(yD - yB) - (xD - xB)*(yB - yC) > 0,
1, -1]];(*----точка C выше AD?*)
(*----*)
BC = Dynamic[EuclideanDistance[{xB, yB}, {xC, yC}]];
BD = Dynamic[EuclideanDistance[{xB, yB}, {xD, yD}]];
CD = Dynamic[EuclideanDistance[{xC, yC}, {xD, yD}]];
(*Alfa0=ArcCos[(BC^2+BD^2-CD^2)/(2*BC*BD)];*)
(*Alfa0=Dynamic[ArcCos[(BC^2+BD^2-CD^2)/(2*BC*BD)]];*)
(*----*)
RGBColor[10, 0, 0],
PointSize[0.03],
Point[Dynamic[{xA, yA}]],
Point[Dynamic[{xB, yB}]],
Point[Dynamic[{xC, yC}]],
Point[Dynamic[{xD, yD}]],

Line[{Dynamic[{xA, yA}], Dynamic[{xB, yB}]}],

Locator[Dynamic[{xA, yA}], None],
Locator[Dynamic[{xB, yB}], None],
Locator[Dynamic[{xC, yC}], None],
Locator[Dynamic[{xD, yD}], None],
(*----------------------*)
Text[StyleForm[Dynamic[
Alfa0
], FontSize -> 20, FontWeight -> "Bold"], {-0.8, -0.8}],
(*----------------------*)

(*-----массив координат B----------------*)
p0 = Dynamic[Table[
{
If[NaidenUgol > 2*Pi, NaidenUgol = NaidenUgol - (2*Pi)];
NaidenUgol = NaidenUgol + ShagUgla;
xA + Cos[NaidenUgol]*AB,
yA + Sin[NaidenUgol]*AB
}, {i, 0, PolozeniRasceta}]];
RGBColor[0, 0, 0],
PointSize[0.02],
Point[p0],
(*-----массив координат B----------------*)

(*-----массив координат С----------------*)
(*(*-----ошибка----------------*)
NaidenUgol=1;
p1=Dynamic[Table[
{
If[NaidenUgol>2*Pi,NaidenUgol=NaidenUgol-(2*Pi)];
NaidenUgol=NaidenUgol+ShagUgla;
p0[[1,1]]+Cos[NaidenUgol]*0.2,
p0[[1,2]]+Sin[NaidenUgol]*0.2
},{i,0,PolozeniRasceta}]];
RGBColor[0,0,0],
PointSize[0.02],
Point[p1]
(*-----массив координат С----------------*) *)



(*----------------------------------------------------------------------\
---------------------*)
},
AspectRatio -> 1,
Axes -> True,
PlotRange -> 1
]]

Cчитаем массив massA[i,x,y] I номер точки массива, xy координаты.
В другом массиве нужно брать для расчета уже посчитанные элементы массива massA.
И считать новый massB=[i, massA[x+a], massA[y+b]]] a, b это расчеты.

Например: есть окружность из 10 точек. Как нарисовать еще окружность вокруг любой точки первой окружности? И чтобы она таскалась вместе в первой.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Доступ к компоненту массива Table внутри Table
СообщениеДобавлено: 28 янв 2016, 17:58 
Не в сети
Одарённый
Зарегистрирован:
27 май 2015, 19:47
Сообщений: 131
Cпасибо сказано: 3
Спасибо получено:
31 раз в 29 сообщениях
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Я убрал Dynamic перед Table. Теперь работает. Если вам нужны вычисления с Dynamic, то помочь не могу.

▼ Код
Graphics[{PolozeniRasceta = 
10;(*----Сколько положений B вокруг A считать*)
ShagUgla = (2*Pi)/PolozeniRasceta;
xA = 0;
yA = 0;
xB = 0.25;
yB = 0.25;
xC = 0.6;
yC = 0.5;
xD = 0.8;
yD = 0;
AB = Dynamic[EuclideanDistance[{xA, yA}, {xB, yB}]];(*----длинна AB*)
StartUgol =
Dynamic[Mod[ArcTan[xB - xA, yB - yA],
2 Pi]];(*----стартовый угол AB*)NaidenUgol = StartUgol;
a0 = Dynamic[
If[(xB - xC)*(yD - yB) - (xD - xB)*(yB - yC) > 0,
1, -1]];(*----точка C выше AD?*)(*----*)
BC = Dynamic[EuclideanDistance[{xB, yB}, {xC, yC}]];
BD = Dynamic[EuclideanDistance[{xB, yB}, {xD, yD}]];
CD = Dynamic[EuclideanDistance[{xC, yC}, {xD, yD}]];
(*Alfa0=ArcCos[(BC^2+BD^2-CD^2)/(2*BC*BD)];*)(*Alfa0=Dynamic[
ArcCos[(BC^2+BD^2-CD^2)/(2*BC*BD)]];*)(*----*)RGBColor[10, 0, 0],
PointSize[0.03], Point[Dynamic[{xA, yA}]], Point[Dynamic[{xB, yB}]],
Point[Dynamic[{xC, yC}]], Point[Dynamic[{xD, yD}]],
Line[{Dynamic[{xA, yA}], Dynamic[{xB, yB}]}],
Locator[Dynamic[{xA, yA}], None], Locator[Dynamic[{xB, yB}], None],
Locator[Dynamic[{xC, yC}], None], Locator[Dynamic[{xD, yD}], None],(*----------------------*)
Text[StyleForm[Dynamic[Alfa0], FontSize -> 20,
FontWeight ->
"Bold"], {-0.8, -0.8}],(*----------------------*)(*-----массив \
координат B----------------*)
p0 = Table[{If[NaidenUgol > 2*Pi, NaidenUgol = NaidenUgol - (2*Pi)];
NaidenUgol = NaidenUgol + ShagUgla;
xA + Cos[NaidenUgol]*AB, yA + Sin[NaidenUgol]*AB}, {i, 0,
PolozeniRasceta}];
RGBColor[0, 0, 0], PointSize[0.02],
Point[p0],(*-----массив координат B----------------*)(*-----массив \
координат С----------------*)(*-----ошибка----------------*)
NaidenUgol = 1;
p1 = Table[{If[NaidenUgol > 2*Pi, NaidenUgol = NaidenUgol - (2*Pi)];
NaidenUgol = NaidenUgol + ShagUgla;
p0[[1, 1]] + Cos[NaidenUgol]*0.2,
p0[[1, 2]] + Sin[NaidenUgol]*0.2}, {i, 0, PolozeniRasceta}];
RGBColor[0, 0, 0], PointSize[0.02], Point[p1]
(*-----массив координат \
С----------------*)(*-------------------------------------------------------------------------------------------\
*)}, AspectRatio -> 1, Axes -> True, PlotRange -> 1]

Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю SAVANTOS "Спасибо" сказали:
Excalibur921
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему    На страницу 1, 2, 3  След.  Страница 1 из 3 [ Сообщений: 21 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Индекс массива является не допустимым для этого массива

в форуме MathCad

artem_naumenko

9

695

04 янв 2022, 19:38

Доступ к Matlab из стороних приложений через COM(DCOM). Как?

в форуме MATLAB

MCKokos

0

318

26 май 2017, 10:12

Найти компоненту тензора в новом базисе

в форуме Линейная и Абстрактная алгебра

mwstw9

1

229

04 июн 2023, 19:24

Найти 1ую главную компоненту и проекции выборки

в форуме Линейная и Абстрактная алгебра

Knyazhe

0

196

17 май 2020, 21:12

Построить график по данным из массива

в форуме MathCad

dmi336

18

212

21 июн 2023, 19:12

Быстрый поиск элементов массива

в форуме Численные методы

alex345

0

409

26 сен 2014, 14:14

Поменять местами элементы массива - C++

в форуме Информатика и Компьютерные науки

kgkfdgfk

1

701

25 окт 2016, 15:08

Обращение к элементу массива ячеек

в форуме MATLAB

GriFFoN

0

460

14 апр 2015, 22:35

Прикладная задача с оценкой массива данных

в форуме Математическая статистика и Эконометрика

slavem

3

273

20 апр 2017, 11:43

Задача оптимизации числового ряда / массива

в форуме Исследование операций и Задачи оптимизации

Numlocked

0

485

25 ноя 2014, 23:52


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved