MATLAB中的函数绘图

时间:2011-05-21 17:20:14

标签: matlab

我有以下功能:

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&lt; = t&lt; = 5的范围内在单个数字上绘制函数。

关于我必须做什么的任何想法?

3 个答案:

答案 0 :(得分:5)

为您的拉普拉斯公式写一个function

像这样的东西

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 :(得分:1)

感谢您的帮助,但我无法实现任何代码或命令来获得答案。而不是,我很幸运,我找到了一个例子,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)')

答案 2 :(得分:0)

如果您的意思是限制x轴,那么在使用绘图后

xlim([xmin xmax])

在你的情况下

xlim([0 5])

使用ylim限制y轴


好的,我想我误解了你

我想,你在公式中犯了错误

f(t)= 0如果0 <= t <0。 1 f(t)= 2 * t ^ 2 - 4 * t + 3如果1 <= t <3。 2 f(t)= Cos(t),如果2 <= t

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 );