2011-05-21 88 views
1
策劃

我有以下功能:功能的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 。

有關我需要做什麼的任何想法?

+0

這聽起來像是這些其他問題的重複: http://stackoverflow.com/q/796072/52738),[MATLAB Piecewise Functions + Vector Manipulation](http://stackoverflow.com/q/1549888/52738),[我如何執行關於在matlab中的圖?](http://stackoverflow.com/q/4357995/52738) – gnovice 2011-05-23 15:16:32

回答

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)') 
0

如果你的意思是限制x軸,然後用陰謀使用

xlim([xmin xmax]) 

在你的情況

xlim([0 5]) 

使用ylim限制Y軸


確定後,我想我誤會了你

此外,我認爲,你已經在公式中犯的錯誤

F(T)= 0,如果0 < = T F(T)= 2 * T^2 - 4 * T +3如果1 < =噸 F(T)= cos(T)如果2 < =噸

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