2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Построить график кусочно заданной функции в матлаб
Сообщение21.10.2011, 16:15 
Аватара пользователя


06/10/11
119
Построить в матлаб график функции

$$
f(x) =\begin{cases}
sin (x),&\text{если $0\le x\le pi$;}\\
-1 ,&\text{если $ pi < x< 2*pi $;}\\

\end{cases}
$$

 Профиль  
                  
 
 Re: Построить график кусочно заданной функции в матлаб
Сообщение22.10.2011, 22:44 


12/03/11
57
Код:
>> x1=0:.1:pi;
>> y1=sin(x1);
>> x2=pi:.1:(2*pi);
>> y2(1:1:length(x2))=-1;
>> plot(x1,y1,x2,y2)
>> axis([0,10,-2,2])

Как-то так.

 Профиль  
                  
 
 Re: Построить график кусочно заданной функции в матлаб
Сообщение03.11.2011, 14:56 
Экс-модератор
Аватара пользователя


23/12/05
12050
vladiko в сообщении #495192 писал(а):
Как-то так.


а зачем лишние точки? да и получилось у Вас два графика, а не один (цвета-то разные)
Вот чуть-чуть модифицирую Ваш код
Код:
x=0:.1:pi;
y=sin(x);
x=[x NaN pi 2*pi];
y=[y NaN -1 -1];
plot(x,y)
axis([0,2*pi,-2,2])


(включение точки с NaN обеспечивает разрыв)

-- Чт ноя 03, 2011 15:11:05 --

vladiko в сообщении #495192 писал(а):
y2(1:1:length(x2))=-1;

PS Указывать шаг в данном случае лишне - он по умолчанию единичный (другое дело, если бы было нужно, скажем, через один с ними что-то делать...), то есть в Вашем примере можно написать просто y2(1:length(x2))=-1; или y2=-ones(1,length(x2));

 Профиль  
                  
 
 Re: Построить график кусочно заданной функции в матлаб
Сообщение06.11.2011, 12:49 
Заслуженный участник


11/05/08
32166
Mike1 в сообщении #494800 писал(а):
Построить в матлаб график функции

$$
f(x) =\begin{cases}
sin (x),&\text{если $0\le x\le pi$;}\\
-1 ,&\text{если $ pi < x< 2*pi $;}\\

\end{cases}
$$

Используется синтаксис Matlab M
function y=f(x)
y=sin(x).*(x>=0).*(x<=pi) + (-1)*(x>pi).*(x<2*pi);


Ну и потом, естественно,

Используется синтаксис Matlab M
x=0:2*pi/1000:2*pi;
plot(x, f(x)),   grid

 Профиль  
                  
 
 Re: Построить график кусочно заданной функции в матлаб
Сообщение06.11.2011, 14:25 
Экс-модератор
Аватара пользователя


23/12/05
12050
ewert, ага, так получше получается

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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



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

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


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

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