2014 dxdy logo

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

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




 
 Mathematica "склеить" графики
Сообщение24.02.2015, 16:02 
Добрый день. Подскажите, пожалуйста, с помощью какой функции "склеить" графики? Например, есть три функции: f(x), g(x), h(x). Как сделать, чтобы на интервале [0,0.3] была построена f(x), на [0.3,0.6] была построена g(x) и на [0.6,1] построена h(x). В идеале они должны "склеиться" и получится одна кривая на отрезке [0,1].

 
 
 
 Re: Mathematica "склеить" графики
Сообщение24.02.2015, 16:48 
Тут стоит склеить функции командой Piecewise. А потом график.

 
 
 
 Re: Mathematica "склеить" графики
Сообщение24.02.2015, 21:22 
Спасибо! Получилось))

 
 
 
 Re: Mathematica "склеить" графики
Сообщение25.02.2015, 00:07 
Аватара пользователя
 !  Nastya.N, замечание за неиспользование $\TeX$ при наборе формул.

 
 
 
 Re: Mathematica "склеить" графики
Сообщение25.02.2015, 15:58 
А теперь не работает......
Не подскажите, что не так в коде?
Код:
Plot[Piecewise[{{k[x] /. sist1,
    0.924 <= x < 1}, {k[x] /. sist2,
    0.622 <= x < 0.924}, {k[x] /. sist3,
    0 <= x < 0.622}}], {x, 0, 1},
PlotRange -> {-10, 20}]

Строит только график из sist3 на отрезке [0,1].

 
 
 
 Re: Mathematica "склеить" графики
Сообщение25.02.2015, 18:49 
Аватара пользователя
Возможно, следует окружить Piecewise[...] в Evaluate:
Код:
Plot[Evaluate[Piecewise[...]], {x, 0 ,1}]


Есть ещё один метод, который Вам стоит знать. Он заключается в построении нескольких графиков и объединении их на графическом уровне.
Код:
Show[
  Plot[f[x], {x, 0, 0.6}, PlotRange -> {{0, 1}, Automatic}],
  Plot[g[x], {x, 0.6, 1}]
]
Учтите, что PlotRange -> {<здесь полный диапазон значений x>, <диапазон по y как обычно или Authomatic>} в первом Plot обязателен.

 
 
 
 Re: Mathematica "склеить" графики
Сообщение25.02.2015, 22:01 
Еще вариант — сначала определить функцию:
Код:
f[x_]=Piecewise[{{k[x] /. sist1,
    0.924 <= x < 1}, {k[x] /. sist2,
    0.622 <= x < 0.924}, {k[x] /. sist3,
    0 <= x < 0.622}}];
Plot[f[x], {x, 0, 1},  PlotRange -> {-10, 20}]

 
 
 
 Re: Mathematica "склеить" графики
Сообщение04.03.2015, 21:19 
Всем спасибо за помощь!)))

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


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