簡體   English   中英

MATLAB中的函數繪圖

[英]Function plotting in 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 <= t <= 5范圍內的單個圖形上繪制函數。

關於我必須做什么的任何想法?

為您的Laplace公式編寫一個函數

像這樣

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

感謝您的幫助,但我無法實現任何代碼或命令來獲取答案。 相反,我很幸運,我找到了一個示例,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)')

如果要限制x軸,則在使用繪圖后使用

xlim([xmin xmax])

就你而言

xlim([0 5])

使用ylim限制y軸


好吧,我想我誤會了你

我也認為,您在公式中犯了錯誤

如果0 <= t <1 f(t)= 2 * t ^ 2-4 * t +3,則f(t)= 0如果1 <= t <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 );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM