3.分段函数绘图 画出函数f(x)= sin x ,x<0 x2 cosx,x20’-2≤x≤2的图形
时间: 2024-10-21 17:02:33 浏览: 32
应用牛顿法求方程cos(x)cosh(x)-1=0的头五个非零的正根
在Matlab中,要绘制分段函数,我们需要创建两个子函数分别定义每个区间内的函数,然后结合这两个函数创建一个主函数来确定x轴上的取值范围,并调用`patch`或`stairs`等函数来绘制不连续的线段。这里我们使用` stairs`函数,因为它适用于阶梯形函数。
首先,我们需要定义两个子函数,一个对应`x < 0`区间的正弦函数,另一个对应`0 ≤ x ≤ 2`区间的余弦平方函数:
```matlab
% 子函数1: 正弦函数 (x < 0)
function y = sine_segment(x)
if x < 0
y = sin(x);
else
y = NaN; % 不需要这部分,因为我们只关心x < 0的部分
end
end
% 子函数2: 余弦平方函数 (0 ≤ x ≤ 2)
function y = cosine_square_segment(x)
if 0 <= x && x <= 2
y = x.^2 * cos(x);
else
y = NaN;
end
end
```
接下来,在主函数中,我们可以设置x轴的范围并绘制两部分:
```matlab
% 主函数
x_values = -5:0.01:2; % 设置x轴取值范围,包括两个分界点
y_values_sine = sine_segment(x_values);
y_values_cosine = cosine_square_segment(x_values);
% 绘制分段函数
figure;
hold on; % 保持当前图层以便添加更多线
stairs(x_values, y_values_sine, 'r'); % 红色阶梯表示x < 0部分的sin(x)
stairs(x_values(2:end), y_values_cosine, 'b'); % 蓝色阶梯表示0 ≤ x ≤ 2部分的cos^2(x)
hold off; % 关闭保持模式,显示完整的图
grid on; % 添加网格
xlabel('x');
ylabel('y');
title('分段函数 f(x) = \sin{x} (x < 0) 和 f(x) = x^2\cos{x} (0 ≤ x ≤ 2)');
legend('sin(x)', 'x^2*cos(x)');
% 显示图形
disp('图已绘制完成,请查看结果。')
```
阅读全文