2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3  След.
 
 Работа в пакете Mathematica7.
Сообщение14.11.2011, 17:54 


26/08/09
197
Асгард
Здравствуйте, господа! Есть проблемы с работой в пакете Mathematica7. Я сильно новичок в этом деле так, что извините заранее за, возможно, глупые вопросы..Вот например :
1) как нарисовать параболу, которая задается уравнением, ну к примеру, $ax^2 + 2bx + 2cy + 1 =0$ ($a,b,c$ - известные числа)?
2)на этой же системе координат, где парабола, нарисовать точки, например (0,1),(3,0),(-1,2).
3)на этой же системе координат нарисовать канонический базис данной параболы.
Спасибо всем заранее...

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение14.11.2011, 18:38 
Админ форума
Аватара пользователя


19/03/10
8952
Переехали.

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение15.11.2011, 22:00 
Заслуженный участник
Аватара пользователя


23/07/05
17973
Москва
Код:
ListPoints=ListPlot[Table[{t[[k]],z[[k]]},{k, n}],PlotStyle→PointSize[0.02],
        PlotRange→{{Min[t,0]-δ1,Max[t,0]+δ1},{Min[z,ž,0]-1-δ2,Max[z,ž,0]+1+δ2}},
        DisplayFunction→Identity];
GrFunc=Plot[AB t+c/.ABC,{t,Min[t]-δ1,Max[t]+δ1},PlotRange→{{Min[t,0]-δ1,Max[t,0]+δ1},
        {Min[z,ž,0]-1-δ2,Max[z,ž,0]+1+δ2}},DisplayFunction→Identity];
Lineδ=Graphics[Line[Sort[Table[{t[[k]],δ[[k]]},{k,n}]]],Axes→True,
        PlotRange→{{Min[t,0]-δ1,Max[t,0]+δ1},{Min[δ,0]-0.1,Max[δ,0]+0.1}}];
Show[GrFunc,ListPoints,DisplayFunction→$DisplayFunction,AxesLabel{"t","ž"}];
Show[Lineδ,AxesLabel→{"t","δ"}];

Если этого не хватит, пришлите мне личным сообщением свой почтовый адрес, я Вам вышлю полный файл.

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение16.11.2011, 13:10 


26/08/09
197
Асгард
спасибо...но ничего не понял :oops: ...что такое $
\delta, \delta_{1}, \delta_{2}  $? ..И рисунок не появляется((..Ошибка выходит..

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение16.11.2011, 23:09 
Заслуженный участник
Аватара пользователя


23/07/05
17973
Москва
Имелось в виду, что Вы не будете вставлять мои команды в свою программу, поскольку Вы не знаете, с какими данными они работают, а по этому образцу напишете команды для работы с Вашими данными.

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение26.11.2011, 17:33 


26/08/09
197
Асгард
Здравствуйте, участники форума..Снова проблемы с работой в Mathematica. Задача достаточно простая.

Вот у меня есть функция "$f[t] := \lbrace r*\sin(t) + C, r*\ln(t) - C^2}\rbrace $", которая задана параметрически с помощью, так называемых, списков. Мне нужно посмотреть как изменяется кривая $f[t]$ с изменением параметра $C$. Пользуюсь командой "$Manipulate[\lbrace r*\sin(t) + C, r*\ln(t) - C^2\rbrace /. \lbrace r \rightarrow 1\rbrace, \lbrace t, -10 ,10\rbrace, \lbrace C, 1, 5\rbrace]$ - все получилось отлично.. Но функцию $f[t]$ я хочу тоже менять..И так же смотреть как меняется новая функция $f[t]$ при изменении $C$. Пишу "$Manipulate[f[t] /. \lbrace r -> 1\rbrace, \lbrace t, -10 ,10 \rbrace, \lbrace C, 1, 5 \rbrace]$", но ничего не вышло..Как это сделать?

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение26.11.2011, 18:09 
Заслуженный участник


27/04/09
28128
Вы хотите менять параметр $r$? Так у вас тогда не нужно заменять его единицей с помощью /. {r -> 1}. Просто добавим в Mainpulate ещё один параметр, и получим Manipulate[f[t], {t, -10, 10}, {C, 1, 5}, {r, rmin, rmax}].

(Странный у вас способ работы с функциями. Вам на график не легче смотреть?)

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение26.11.2011, 22:21 


26/08/09
197
Асгард
просто у меня вот такая задача :
Для заданной гладкой кривой построить семейство ее эвольвент, динамически зависящее от параметра. Проиллюстрировать теорему о том, что исходная кривая является одной из эвольвент своей эволюты.

Вот я все нахожу в общем виде..Нашел эволюту, эвольвенту...Пробелма с динамикой..Как все это организовать? Кстати, я хотел менять параметр С.

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение26.11.2011, 22:49 
Заслуженный участник


27/04/09
28128
Ну так $C$ у вас разве в полученном коде не меняется?

Что именно должно меняться динамически? Не понимаю.

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение26.11.2011, 22:55 


26/08/09
197
Асгард
вот именно, не меняется...вообще даже графика нет.

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение26.11.2011, 23:02 
Заслуженный участник


27/04/09
28128
У вас там нету кода для показа графика. Manipulate просто делает нам выражение, которое перевычисляется при изменении параметров, перечисленных правее. У вас в качестве этого выражения просто значение функции при $r = 1$.

Так что должно меняться, что не должно, и что должно получаться (и что из этого вы сделали)? Не знаю, есть ли на форуме телепаты, но я точно не из них. :-)

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение26.11.2011, 23:54 


26/08/09
197
Асгард
Пардонте за хождения вокруг да около..Попробую все последовательно объяснить.
1) Задача : Для заданной гладкой кривой построить семейство ее эвольвент, динамически зависящее от параметра. Проиллюстрировать теорему о том, что исходная кривая является одной из эвольвент своей эволюты.
2) Задаем кривую (например окружность радиуса $r$) :
Код:
"Зададим кривую f(t) = (x(t), y(t)).";
f[t_] := {r*Cos[t], r*Sin[t]};
x[t_] := f[t][[1]];
y[t_] := f[t][[2]];

3) Находим векторы скорости и ускорения :
Код:
dx[t_] := D[x[t], t];
dy[t_] := D[y[t], t];
ddx[t_] := D[dx[t], t];
ddy[t_] := D[dy[t], t];

4) Находим эвольвенту $evln[t] = (xevln (t), yevln (t))$, с помощью явных формул :
$xevln := x[t] - dx[t] \frac{\int\limits_{c}^{t} \sqrt{(dx[s])^2 + (dy[s])^2} ds}  {(dx[t])^2 + (dy[t])^2};$

$yevln := y[t] - dy[t] \frac{\int\limits_{c}^{t}  \sqrt{(dx[s])^2 + (dy[s])^2} ds}  {(dx[t])^2 + (dy[t])^2};$
Код:
evln[t_] = {xevln[t], yevln[t]};

5)Нужно теперь показать все семейство эвольвент, меняя параметр $c$, который у нас появится в интеграле. Вот пишу :
Код:
Manipulate[ParametricPlot[evln[t] /. r -> 1 , {t, -10 , 10}], {c, 1, 5}]

Не работает.((

-- 27 ноя 2011, 03:59 --

Вот если я заместо $evln[t]$, в Manipulate, поставлю результат вычислений, т. е. поставлю список:
Код:
{r Cos[t] + (r (-c Sqrt[r^2] + Sqrt[r^2] t) Sin[t])/(
  r^2 Cos[t]^2 + r^2 Sin[t]^2), r Sin[t] - (r (-c Sqrt[r^2] + Sqrt[r^2] t) Cos[t])/(r^2 Cos[t]^2 + r^2 Sin[t]^2)}

Тогда все нормально работает..Но проблема в том, что кривые будут разные.Я и хотел, чтобы были только переменные..Чтобы человек заменял только функции $x[t]$ и $y[t]$, а все остальное делала Mathematica.

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение27.11.2011, 00:00 
Заслуженный участник


27/04/09
28128

(Оффтоп)

3.14 в сообщении #508613 писал(а):
Код:
"Зададим кривую f(t) = (x(t), y(t)).";
Плохой способ комментировать. А дальше я пошёл спать. :P

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение27.11.2011, 00:06 


26/08/09
197
Асгард

(Оффтоп)

просто я сам спать хочу вот и "комменчу" так, все-таки время 3:05.

 Профиль  
                  
 
 Re: Работа в пакете Mathematica7.
Сообщение27.11.2011, 11:04 
Заслуженный участник


27/04/09
28128
Сейчас всё посмотрю! Пока только скажу, что := не возвращает ничего (точнее, Null), так что можете ; не писать. Вот после =, конечно, надо, чтобы результат не цитировался.

-- Вс ноя 27, 2011 14:14:41 --

Так, вот что обнаружил:
Код:
Manipulate[ParametricPlot[evln[t] /. {r -> 1, c -> d}, {t, -10, 10}], {d, 1, 5}]
Вот это работает. Не очень понял, в чём причина, что это работает, а то нет. :?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group