用matlab求分段函数程序

 我来答
大野瘦子
高粉答主

2019-10-18 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.4万
展开全部

这样:

clc,clear,close all

x = -5:.1:5;

y(x>=1) = 3.*x(x>=1).^2+1;

y(x>-1 && x<1) = 0;

y(x<=-1) = -x(x<=-1).^3+2;

figure,plot(x,y)

扩展资料:

注意事项

语法

if expression
statements
end

描述

MATLAB计算表达式,如果产生一个逻辑真或者非零结果,然后就执行一条或者多条MATLAB命令语句。

当有嵌套if时,每一个if必须和一个相应的end匹配。

当你在if语句里面嵌套使用else if或者else时,一般的格式如下:

if expression1

    statements1

elseif expression2

    statements2

else

    statements3

end

巩博革小蕾
2019-11-12 · TA获得超过3841个赞
知道大有可为答主
回答量:3079
采纳率:29%
帮助的人:191万
展开全部
最低0.27元/天开通百度文库会员,可在文库查看完整内容>
原发布者:bitian216
f(x)的定义如下:
1、写一个函数文件f(x)实现该函数,要求参数x可以是向量;2、作出该函数的图形;3、求出f(x)的零点与最值。解:(1)、编写M函数文件functiony=f(x)n=length(x);ifx=0&x<10&x~=2&x~=3y=x.^2+5*x+6;elsey=x.^2-x-1;end(2)、把文件f.m放置在搜索路径上(3)、运行指令令x=5,则在命令窗口输入指令y=f(5)得到答案:y=56(2)图形x1=(-5):0.01:0;y1=x1.^2+x1-6;plot(x1,y1,'m-');holdonx2=0:0.01:10;y2=x2.^2-5*x2+6;plot(x2,y2,'r:');holdonx3=10:0.01:15;y3=x3.^2-x3-1;plot(x3,y3);x4=-4;y4=x4.^2-x4-1;plot(x4,y4,'p');holdonx5=2;y5=x5.^2-x5-1;plot(x5,y5,'b*');holdonx6=3;y6=x6.^2-x6-1;plot(x6,y6,'g*');title('函数f(x)的图形');text(-4,-20,'曲线f1(x)=x^2+x-6');text(2,40,'曲线f2(x)=x^2-5x+6');text(10,146,'曲线f3(x)=x^2-x-1');legend('f1(x)','f2(x)','f3(x)','x=-4','x=2','x=3');结果如图:
(2)f(x)的零点①当x>p1=[1,1,-6];>>x1=roots(p1);x1=-32由题意可知,x的取值范围在(-∞,0),所以x1=2舍去,即f(x)的零点之一为x1=-3.②当x>=0&x>p2=[1,-5,6];>>x2=roots(p2)x2=
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
倪斯荣莹然
2019-01-16 · TA获得超过3776个赞
知道小有建树答主
回答量:3032
采纳率:26%
帮助的人:231万
展开全部
出错的原因应该是
你的函数名字起的太简单了,可能与别的g.m函数冲突,引起调用错误,不过也可能是matlab抽风了,你重启试试。
我的解决办法是:把函数名字改为gg.m
然后放到当前工作目录中,
函数内容的代码是:
function
y=gg(x)
if
x>2

y=x^2+2;
elseif
0<x<=2

y=3*x;
elseif
x<=0

y=x^3;
end
然后在命令行中输入
gg(6)
gg(2)
你看,运行正常!
结果如下:
你试试,如果有问题,欢迎继续讨论
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式