matlab分段函数的表达_MATLAB|分段函数的构造方法

matlab分段函数的表达_MATLAB|分段函数的构造方法1.问题描述以如下的典型分段函数为例:2.技术背景MATLAB。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)如此,可以用一个统一的表达式表达,方便…

大家好,又见面了,我是你们的朋友全栈君。

1. 问题描述

以如下的典型分段函数为例:

d856e3a59394

2. 技术背景

MATLAB。

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 = (x0 < 100)

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*x+100)

运算,绘图

f(x0)

figure

plot(x0,f(x0),’-*’)

计算结果:

ans =

0 10 20 30 40 50 40 30 20 10 0

d856e3a59394

5. 常见问题

需要注意,代码中的乘法均为点乘:

.*

否则,对于向量数据,计算出现错误。

d856e3a59394

代码:

clc,clear

x0 = 0:20:200;

test1 = (x0 < 100)

test2 = (x0 >= 100)

f = @(x) (x < 100).*(0.5*x) + (x >= 100).*(-0.5*x+100)

f(x0)

figure

plot(x0,f(x0),’-*’)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140003.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号