Построение функции в MATLAB - PullRequest
1 голос
/ 21 мая 2011

У меня есть следующая функция:

f(t) = 0                  if    t < 0     
f(t) = 2*t^2 - 4*t +3     if   1 <= t < 2   
f(t) = Cos(t)             if    2 <= t

Я новый пользователь MATLAB, и я не знаю, как изобразить функцию на одной фигуре в диапазоне 0 <= t <= 5. </p>

Есть идеи о том, что я должен делать?

Ответы [ 3 ]

5 голосов
/ 21 мая 2011

Напишите функцию для вашей формулы Лапласа.

Как-то так

function [ft] = func(t)
    if t <= 0
        ft = 0;
    elseif t > 0 &&  t < 2
        ft = 2 * t^2 - 4 * t + 3;
    elseif t >= 2
        ft = cos(t);
    end    

Затем вы можете построить функцию с помощью fplot , второй параметр определяет диапазон построения.

fplot('func', [0, 5])
1 голос
/ 22 мая 2011

спасибо за вашу помощь, но я не смог реализовать код или команды, чтобы получить ответ. Вместо этого мне повезло, я нашел пример и команды MATLAB:

x=linspace(0,5,3000);
y=(0*x).*(x<1) + (2*(x.^2)-(4.*x)+3).*((1<=x) & (x<2))
+ (cos(x)).*(2<=x);
plot(x,y, '.'), grid
axis([0 5 -2 4])
title ('Plot of f(t)'), xlabel('t'), ylabel('f(t)')
0 голосов
/ 21 мая 2011

Если вы имеете в виду ограничение оси x, то после использования графика используйте

xlim([xmin xmax])

В вашем случае

xlim([0 5])

Используйте ylim для ограничения оси y


Хорошо, я думаю, что неправильно вас понял

Также я думаю, что вы допустили ошибку в своих формулах

f (t) = 0, если 0 <= t <1 f (t) = 2 * t ^ 2 - 4 * t +3, если 1 <= t <2 f (t) = Cos (t), если 2 <= t </p>

figure;
hold on;
x = 0:0.1:0.9;  y = 0 * x;                      plot( x, y );
x = 1:0.1:1.9;  y = 2 * x * x - 4 * x + 3;      plot( x, y );
x = 2:0.1:5;    y = cos( x );                   plot( x, y );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...