求解答:matlab中分段函数问题
symsuf=-2*u.^4+2*u.^2+u/6+0.3;ifu>=(-0.9-f(-0.9))&u<=(-0.9)g=0.9+u+f(-0.9);elseifu>=(...
syms u
f=-2*u.^4+2*u.^2+u/6+0.3;
if u >= (-0.9-f(-0.9)) & u <= (-0.9)
g =0.9+u+f(-0.9);
else if u>=(-0.9) & u<=1
g=f;
else if u>=1 & u<=(1+f(1))
g=1-u-f(1);
end
end
end
求大神帮忙看看哪里出错了?是分段函数写的不对还是 syms 的缘故? 展开
f=-2*u.^4+2*u.^2+u/6+0.3;
if u >= (-0.9-f(-0.9)) & u <= (-0.9)
g =0.9+u+f(-0.9);
else if u>=(-0.9) & u<=1
g=f;
else if u>=1 & u<=(1+f(1))
g=1-u-f(1);
end
end
end
求大神帮忙看看哪里出错了?是分段函数写的不对还是 syms 的缘故? 展开
展开全部
这样就对了:
>> f = @(u) -2*u.^4+2*u.^2+u/6+0.3;
>> g = @(u) (u>= -0.9-f(-0.9) & u <= -0.9).*(0.9 + u+f(-0.9)) + (u>= -0.9 & u<=1).*f(u) + (u>=1 & u<=1+f(1)).*(1-u-f(1))
g =
@(u)(u>=-0.9-f(-0.9)&u<=-0.9).*(0.9+u+f(-0.9))+(u>=-0.9&u<=1).*f(u)+(u>=1&u<=1+f(1)).*(1-u-f(1))
>> plot(linspace(-1,1,100),g(linspace(-1,1,100)))
展开全部
太混乱了。。。
你需要先说明白你的最终目的,
像什么f(-0.9),你指望matlab能认识这种东西吗?f是个符号变量。。
f(-0.9)的表示方法应该是subs(f,u,-0.9)
另外,为什么不把先把f(-0.9)和f(1)直接算出来呢?
最后,你是要得到一个函数呢?还是一个函数呢?。。。
是函数就得有函数的样子。
如果你一定要用符号运算的话,
function fun_g(x)
syms u
f=-2*u.^4+2*u.^2+u/6+0.3;
if( x>=-0.9-subs(f,u,-0.9) && x<=-0.9 )
g = 0.9+x+subs(f,u,-0.9);
else if( x>=-0.9 && x<=1 )
g = subs(f,u,x);
else if( x>=1 && x<=1+subs(f,u,1)
g = 1-x-subs(f,u,1);
end
fun_g = g;
把上面的语句保存到文件fun_g.m
放在一个英文的工作目录下面
然后你在command窗口,可以输入命令使用这个函数
例如,你要得到g(0.7)
输入
fun_g(0.7)
你要得到g(0.9)
输入
fun_g(0.9)
你需要先说明白你的最终目的,
像什么f(-0.9),你指望matlab能认识这种东西吗?f是个符号变量。。
f(-0.9)的表示方法应该是subs(f,u,-0.9)
另外,为什么不把先把f(-0.9)和f(1)直接算出来呢?
最后,你是要得到一个函数呢?还是一个函数呢?。。。
是函数就得有函数的样子。
如果你一定要用符号运算的话,
function fun_g(x)
syms u
f=-2*u.^4+2*u.^2+u/6+0.3;
if( x>=-0.9-subs(f,u,-0.9) && x<=-0.9 )
g = 0.9+x+subs(f,u,-0.9);
else if( x>=-0.9 && x<=1 )
g = subs(f,u,x);
else if( x>=1 && x<=1+subs(f,u,1)
g = 1-x-subs(f,u,1);
end
fun_g = g;
把上面的语句保存到文件fun_g.m
放在一个英文的工作目录下面
然后你在command窗口,可以输入命令使用这个函数
例如,你要得到g(0.7)
输入
fun_g(0.7)
你要得到g(0.9)
输入
fun_g(0.9)
更多追问追答
追问
改了好几次,总是出现Function 'ge' is not implemented for MuPAD symbolic objects.
追答
你能把你的代码贴出来,然后怎么操作的说明一下吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询