在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.
还请高人指点 展开
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.
还请高人指点 展开
3个回答
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你矩阵维数不匹配,查看一下你的矩阵吧。顺便你最好把所有错误提示都贴出来。。。你贴出来的只是部分
更多追问追答
追问
不太明白您说的矩阵维数,能详细说一下吗?新手刚刚学,不要见笑哦。
追答
Matrix dimensions must agree.
这句话翻译过来就是这个意思。。。比如2*2矩阵不能和4*4矩阵相乘。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询