1 .问题说明
以以下典型的分段函数为例。
2 .技术背景
马特拉b
3 .解决方案
以上分段函数分别由两个函数组成。
f1(x )=0.5*x,x 100;
f2(x )=-0.5*x 100、x=100时;
因此,整体段函数可以表示为:
f(x )=F1 ) x ) ) x 100 ) F2 ) x ) ) x=100 )时
这样,可以用统一的公式表示,编程计算很容易。
这里的(x 100的情况)是逻辑判定运算,如果满足条件则为1,如果不满足则为0。
4 .实施例
-逻辑判定运算
clc,clear
x0=0:20:200;
test1=(x0100 ) )。
test2=(x0=100 )
运算结果如下。
test1=
1 1 1 1 1 0 0 0 0 0 0
test2=
0 0 0 0 0 1 1 1 1 1 1
构造分段函数,采用【匿名函数语法】
f=@(x ) ) x 100 ).* ) *(0.5*x ) (x=100 ).*(-0.5*x100 ) ) ) ) ) ) ) ) )。
运算,绘图
是f(x0 )
插图
0个打印(x0,f ),'-* ' )
计算结果:
ans=
0 10 20 30 40 50 40 30 20 10 0
5 .常见问题
请注意,代码中的乘法都是点乘法。
. *
否则,向量数据会发生计算错误。
代码:
clc,clear
x0=0:20:200;
test1=(x0100 ) )。
test2=(x0=100 )
f=@(x ) (x 100 ).* ) *(0.5*x ) (x=100 ).*(-0.5*x100 ) ) ) ) ) ) ) ) ) )。
是f(x0 )
插图
0个打印(x0,f ),'-* ' )