首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在matlab中创建、求解和绘制条件函数

如何在matlab中创建、求解和绘制条件函数
EN

Stack Overflow用户
提问于 2016-10-17 03:27:33
回答 1查看 644关注 0票数 1

例如,我有一个

代码语言:javascript
复制
f(x)=
    9+4(x+3), if -4<=x<-1 (subf1)
    7-9(x-0.4), if -1<=x<1 (subf2)

如何在matlab中创建f(x)函数?我试过了

代码语言:javascript
复制
f=0
syms x
f=f+ subf1 with heaviside+ subf2 with heaviside

但我不能给出一个v来解决f(v),也不能只从-41绘制f(x)。那么还有另一种写条件函数的方法吗?

对不起,我的描述有点难以理解。如果你不明白我的要求,请让我知道,我会尝试重新措辞。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-17 04:08:21

取决于你想用它做什么。如果出于某种原因需要符号化,下面是编写符号函数的一种方法

代码语言:javascript
复制
syms x
f1 = (9 + 4 * (x + 3)) * heaviside(x + 4) * (1 - heaviside(x + 1));
f2 = (7 - 9 * (x - 0.4)) * heaviside(x + 1) * (1 - heaviside(x - 1));
f = symfun(f1 + f2, x);

否则,您可以将将函数写入文件中作为:

代码语言:javascript
复制
function out = f(x)
out = (9 + 4 * (x + 3))*(x>=-4)*(x<-1) + (7 - 9 * (x - 0.4))*(x>=-1)*(x<1);

也可以将其定义为匿名函数

代码语言:javascript
复制
f = @(x) (9 + 4 * (x + 3))*(x>=-4)*(x<-1) + (7 - 9 * (x - 0.4))*(x>=-1)*(x<1);

然后,您可以使用例如fplot绘制任何函数。

代码语言:javascript
复制
fplot(f, [-4, 1])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40078072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档