Matlab菜鸟:请高手指出问题

functionf=bspline(x);x=[-1:0.01:3];ifx<0f=0;elseifx<1f=x;elseifx<2f=2-x;elsef=0;endpl... function f=bspline(x);
x=[-1:0.01:3];
if x<0 f=0;
elseif x<1 f=x;
elseif x<2 f=2-x;
else f=0;
end
plot (f);

我要作出以上分段函数在[-1,+3]之间的函数图像,可是不知道上面这段程序错在哪里,请高手帮忙,谢谢!
展开
 我来答
yaoboxu88
2010-07-27 · TA获得超过466个赞
知道答主
回答量:194
采纳率:100%
帮助的人:176万
展开全部

你的程序在计算的逻辑上一点问题都没有,但是显示和计算不是一回事情。

你函数的意思:计算完后,然后画关于F函数的图像,此时f=0,当然在用plot(x,f),那么肯定是一条关于0的直线,而分段函数有好几种写法,你这种有点想当然,你仔细想一下,不同x的值对应着f的值能够全部存下来,最后给你画图使用吗?

最简单的分段函数就是一段一段的写:我写了一个如下:

  x1=[-1:0.01:0];

  x2=[0:0.01:1]; 

  x3=[1:0.01:2];

  x4=[2:0.01:3];

  f1=0;

  f2=x2;  

  f3=2-x3;

  f4=0;

plot(x1,f1,'r',x2,f2,'r',x3,f3,'r',x4,f4,'r');

axis([-1,3,-3,5])

grid on

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
哈伪笛5982
2010-07-27 · TA获得超过735个赞
知道小有建树答主
回答量:262
采纳率:100%
帮助的人:353万
展开全部
%建立文件bspline.m
function f=bspline(x)
f = zeros(size(x));
f(x < 2) = 2 - x(x < 2);
f(x < 1) = x(x < 1);
f(x < 0) = 0;

命令窗口:
>> x = -1:0.01:3;
>> plot(x, bspline(x));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式