x = -2*pi:0.01:pi;
f = zeros(size(x));
% 第一段
idx1 = (x >= -2*pi) & (x <= -pi);
f(idx1) = sin(x(idx1));
% 第二段
idx2 = (x > -pi) & (x <= 0);
f(idx2) = cos(x(idx2));
% 第三段
idx3 = (x > 0) & (x <= pi);
f(idx3) = x(idx3).^2+log(1 + x(idx3))+exp(floor(x(idx3)));
plot(x,f);
xlabel('x');
ylabel('f(x)');
title('Piece - wise function f(x)');

- 首先定义了自变量
x
的取值范围,从 -2*pi
到 pi
,步长为 0.01
,并初始化函数值 f
为与 x
同大小的零向量。 - 通过逻辑运算分别找出每一段函数对应的
x
的索引 idx1
、idx2
和 idx3
,并计算相应的函数值赋给 f
。 - 最后使用
plot
函数绘制函数图像,并添加 x
轴标签、y
轴标签和标题。 floor
函数:floor(x)
函数用于将输入参数 x
中的每个元素向下取整,也就是取不大于该元素的最大整数。例如,floor(3.2)
的结果是 3,floor(-2.8)
的结果是 -3。如果 x
是一个矩阵,那么 floor
函数会对矩阵中的每个元素分别进行向下取整操作。exp
函数:exp(x)
函数用于计算以自然常数 e
(约等于 2.71828)为底,x
为指数的指数函数值,即计算 。当 x
为矩阵时,exp
函数会对矩阵中的每个元素分别计算指数值。
1.实操
>> x=-2*pi:0.1:pi;
>> x1=(x<=-2*pi)&(x>=-pi);
>> f(x1)=sin(x(x1));
>> x2=(x>-pi)&(x<=0);
>> f(x2)=cos(x(x2));
>> x3=(x>0)&(x<=pi);
>> f(x3)=x(x3).^2+log(1+x(x3))+exp(floor(x(x3)));
>> plot(x,f)
>>

2.
>> xlabel('x')
>> ylabel('f(x)')
>> title('函数图')
