12. 编写一个函数文件plotQuadFunc.m,可以绘制任意区间范围[x1,x2]内的 y=ax^2+bx+c 的函数曲线,图像要有标题(title)和标注(legend)。 函数第一行格式如下: function plotQuadFunc(a,b,c,x1,x2) …
时间: 2024-10-20 13:18:47 浏览: 19
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
你可以创建一个名为`plotQuadFunc.m`的函数,该函数接受参数`a`, `b`, `c`, `x1`, 和 `x2`,分别代表二次函数的系数和x轴的区间范围。以下是函数的详细实现:
```matlab
function plotQuadFunc(a, b, c, x1, x2)
% 确保输入是数值并且x1小于x2
if ~isnumeric([a, b, c, x1, x2]) || x1 >= x2 || any(isnan([a, b, c, x1, x2]))
error('Invalid input. All parameters should be numeric and x1 should be less than x2.');
end
% 创建等间距的x值范围
dx = (x2 - x1) / 100; % 可调整网格密度
x = x1:dx:x2;
% 计算对应的y值
y = a .* x .^ 2 + b .* x + c;
% 绘制函数图形
figure;
plot(x, y, 'LineWidth', 1.5); % 绘制曲线
title(sprintf('Quadratic Function: y = %.2fx^2 + %.2fx + %.2f', a, b, c)); % 添加标题
xlabel('x'); % x轴标签
ylabel('y'); % y轴标签
grid on; % 显示网格线
legend('y = ax^2 + bx + c'); % 添加图例
end
```
要使用这个函数,调用它时传入相应参数,如`plotQuadFunc(1, -3, 2, -5, 5)`,这会画出函数y = x^2 - 3x + 2在区间[-5, 5]上的图。
阅读全文