在MATLAB中如何画分段函数的图像

我要画一个分段函数的图像,编写的函数为:functiony=f(x)n=length(x);ifx>0&x<=0.4y=0.4*log(0.4/x)+0.5;elseif... 我要画一个分段函数的图像,编写的函数为:
function y=f(x)

n=length(x);

if x>0&x<=0.4
y=0.4*log(0.4/x)+0.5;
elseif x>0.4 & x<=0.6
y=-x+0.9;
elseif x>0.6 & x<0.8

y=2.5*x.^2-4*x+1.8;
elseif x>=0.8 & x<=0.9

y=0.2;
else

y=0.15*log(0.1/(1-x))+0.2;

end
图像部分的程序为
x=0:0.1:1;

y=(0.4*log(0.4/x)+0.5).*( x>0&x<=0.4)+(-x+0.9).*(x>0.4 & x<=0.6)+(2.5*x.^2-4*x+1.8).*(x>0.6 & x<0.8 )+0.2.*( x>=0.8 & x<=0.9 )+(0.15*log(0.1/(1-x))+0.2).*( x>0.9 & x<=1 );
plot(x,y)
老是报错
??? Error using ==> mrdivide
Matrix dimensions must agree.
还请高人指点
展开
 我来答
lhmhz
高粉答主

2014-04-12 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16990

向TA提问 私信TA
展开全部

错误出在,y=0.15*log(0.1/(1-x))+0.2表达式少了一个点除“./”

应改成  y=0.15*log(0.1./(1-x))+0.2,ok了。

称马你0M
高粉答主

2019-10-29 · 繁杂信息太多,你要学会辨别
知道答主
回答量:22.3万
采纳率:8%
帮助的人:1.1亿
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3c63e6c
2014-04-09 · TA获得超过2847个赞
知道大有可为答主
回答量:3829
采纳率:68%
帮助的人:2744万
展开全部
你矩阵维数不匹配,查看一下你的矩阵吧。顺便你最好把所有错误提示都贴出来。。。你贴出来的只是部分
更多追问追答
追问
不太明白您说的矩阵维数,能详细说一下吗?新手刚刚学,不要见笑哦。
追答
Matrix dimensions must agree.
这句话翻译过来就是这个意思。。。比如2*2矩阵不能和4*4矩阵相乘。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式