2014 dxdy logo

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

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




 
 циклические графики в Maple
Сообщение09.05.2014, 13:57 
Если таких нет, предложите хотя бы альтернативу!
Есть функция F(b,t), зависит от 2ух переменных, надо построить семейства графиков F(t) c b=0.1,..,1 на одном рисунке!
Делал вот такую штуку
for b from 0.1 by 0.1 to 1 do F := бла-бла; plot(F, t = -Pi .. Pi) od;
естественно получил 10 графиков на 10и рисунках.. Как быстро совместить в один рисунок, либо перепрогать, чтобы сразу выдавал все графики вместе?
Способ копи-паста всех 10и выражений F в plot не предлагать :)

 
 
 
 Re: циклические графики в Maple
Сообщение09.05.2014, 23:52 
последовательность создайте

(Оффтоп)

и на всякий случай в ТеХе свое сообщение перепишите

 
 
 
 Re: циклические графики в Maple
Сообщение10.05.2014, 10:32 
В зависимости от того, что Вы, Tun, не указали в начальном сообщении, а заменили на «бла-бла», возможны варианты. Примитивны примеры:
> plot({seq(b*sin(x), b=0.1..1, 0.1)}, x=-Pi..Pi); (возможно на это намекал mihailm)
Код:
> S:= {}:
> for b from 0.1 by 0.1 to 1 do S:= {op(S), b*sin(x)}; end do:
> plot(S, x=-Pi..Pi);
Код:
> S:= []:
> for b from 0.1 by 0.1 to 1 do S:= [op(S), b*sin(x)]; end do:
> plot(S, x=-Pi..Pi);
Код:
> S:= {}:
> for b from 0.1 by 0.1 to 1 do S:= {op(S), plot(b*sin(x), x=-Pi..Pi)}; end do:
> plots[display](S);

 
 
 
 Re: циклические графики в Maple
Сообщение11.05.2014, 10:51 
Код:
p := (1-(4/5)*b^2*sin(t)^2)^(1/2);
F := (128/5)*(1-p)*p*exp(2*(p-1)/(1+p))/(1+p)^5;

F зависит от переменной t и параметра b через p, в таком задании он строит не то, что нужно, при явном задании p в F все норм, в послед-ти как правильно юзать параметры?

 
 
 
 Re: циклические графики в Maple
Сообщение11.05.2014, 11:23 
Вы опять не излагаете детали задачи. От этих деталей зависит выбор конструкций для реализации. В относительно свежих версиях «лишь бы как» можно, например, так:
Код:
> F := (128/5)*(1-p)*p*exp(2*(p-1)/(1+p))/(1+p)^5;
> plot({seq(eval(F, p=(1-(4/5)*b^2*sin(t)^2)^(1/2)), b=0.1..1, 0.1)}, t=-Pi..Pi);

P.S. На всякий случай. В старых версиях нет конструкций типа eval(F, x=x_0). Часто можно обойтись subs(x=x_0, F). Кроме того, в seq не всегда была возможность задать дробный шаг. Можно сделать индекс последовательности целым, обозначить его через i, а b выражать через i. В этом вопросе между версиями плохая совместить. Я всегда делаю индекс последовательности целым.

 
 
 
 Re: циклические графики в Maple
Сообщение11.05.2014, 13:48 
Класс, спасиб! не понимаю, какие ещё детали остались нераскрытыми..
Все же циклы больше люблю, в них можно задать параметр?

 
 
 
 Re: циклические графики в Maple
Сообщение11.05.2014, 14:50 
Детали — это окружение обсуждаемого «программного текста»; требования к читабельности, модифицируемости, оптимальности,...
Например, если выражение F далее по тексту программы не используется, то можно было написать с использованием поименованной оператор-функции F, а не выражения F (так, в некоторых случаях, читабельней)
Код:
> F:= x -> (128/5)*(1-x)*x*exp(2*(x-1)/(1+x))/(1+x)^5;
> plot({seq(F((1-(4/5)*b^2*sin(t)^2)^(1/2)), b=0.1..1, 0.1)}, t=-Pi..Pi);
Если в дальнейшем оператор-функция не используется, то можно использовать непоименованную функцию
Код:
> plot({seq(proc (x) (128/5)*(1-x)*x*exp(2*(x-1)/(1+x))/(1+x)^5 end proc ((1-(4/5)*b^2*sin(t)^2)^(1/2)), b=0.1..1, 0.1)}, t=-Pi..Pi);
Аналогичный вариант с непоименованной оператор-функцией:
plot({seq((x -> (128/5)*(1-x)*x*exp(2*(x-1)/(1+x))/(1+x)^5) ((1-(4/5)*b^2*sin(t)^2)^(1/2)), b=0.1..1, 0.1)}, t=-Pi..Pi);
В общем, много можно привести слегка отличающихся вариантов.

И с циклом можно. Примитивный пример, использующий непоименованную функцию
Код:
> S:= {}:
> for b from 0.1 by 0.1 to 1
     do S:= {op(S), plot(proc (x) (128/5)*(1-x)*x*exp(2*(x-1)/(1+x))/(1+x)^5 end proc ((1-(4/5)*b^2*sin(t)^2)^(1/2)), t=-Pi..Pi)}; end do:
> plots[display](S);
Как правило, будет работать медленней, чем вариант с последовательностью. Возможно, вариант с циклом будет полезен, если задавать в цикле отдельное форматирование для разных кривых. Лень гадать. По поводу нецелого индекса цикла моё мнение то же, что и для последовательностей (конец моего предыдущего поста). Аналогично для sum, add,…

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group