MATLAB 中的函数绘图

发布于 2024-11-08 12:56:45 字数 262 浏览 0 评论 0原文

我有以下函数:

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 范围内的单个图形上绘制函数。

关于我必须做什么有什么想法吗?

I have the following function:

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

I am a new MATLAB user, and I do not how to plot the function on a single figure over the range 0<=t<=5.

Any ideas about What I have to do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

握住我的手 2024-11-15 12:56:45

为拉普拉斯公式编写一个函数

类似这样的

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< 绘制该函数/a>,第二个参数定义绘图范围。

fplot('func', [0, 5])

Write a function for your Laplace formula.

Something like this

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    

You can then plot the function with fplot, the second parameter defines the plotting range.

fplot('func', [0, 5])
高冷爸爸 2024-11-15 12:56:45

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

thanks for your help but I could not implement any code or commands to get the answer. Instead of, I was lucky and I found an example and the MATLAB commands are as follow:

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)')
痴骨ら 2024-11-15 12:56:45

如果你的意思是限制x轴,那么在使用plot之后使用

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

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

If you mean limiting x axis, then after using plot use

xlim([xmin xmax])

In your case

xlim([0 5])

Use ylim for limiting y axis


Ok, I think I misunderstood you

Also I think, you've made mistake in your formulas

f(t) = 0 if 0<= t < 1
f(t) = 2*t^2 - 4*t +3 if 1 <= t < 2
f(t) = Cos(t) if 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 );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文