MATLAB - 绘制表达式或函数
MATLAB - 绘制表达式和函数
Section titled “MATLAB - 绘制表达式和函数”MATLAB 提供了一套强大而灵活的工具用于可视化数学函数。现代方法倾向于对符号表达式和函数句柄使用 fplot,因为它会自动确定采样点,从而生成平滑且准确的图。这通常优于手动创建数据向量的旧方法。
使用 fplot 绘制函数
Section titled “使用 fplot 绘制函数”fplot 函数旨在在指定限制内绘制函数。提供函数最常见的方式是使用函数句柄(function handle),它是一个以 @ 开头的匿名函数。
fplot(f)fplot(f, [xmin xmax])fplot(___, LineSpec)h = fplot(___)示例 1:绘制简单函数
Section titled “示例 1:绘制简单函数”让我们在默认区间 [-5, 5] 上绘制函数 y = sin(x) / x。
% 使用函数句柄定义函数f = @(x) sin(x) ./ x; % 注意逐元素运算符 ./
figure; % 创建一个新的图形窗口fplot(f);
% 添加标签和标题以创建出版质量的图title('Plot of y = sin(x)/x');xlabel('x');ylabel('y');grid on;预期输出描述:此代码在一个新的图形窗口中生成一个 2D 图。x 轴范围从 -5 到 5。y 轴显示 sin(x)/x 的对应值,该值振荡并衰减,从 x=0 处的值 1 开始。该图具有标题、x 轴和 y 轴标签以及网格。
示例 2:指定区间和线条样式
Section titled “示例 2:指定区间和线条样式”让我们在区间 [-3, 3] 上绘制 y = x^3 - 2x - 5,使用红色虚线和圆形标记。
% 定义多项式函数f = @(x) x.^3 - 2*x - 5;
% 定义绘图区间xinterval = [-3, 3];
% 使用指定的区间和 LineSpec 绘制图('--or' 表示带圆圈标记的橙红色虚线)figure;fplot(f, xinterval, '--or');
title('Plot of a Cubic Polynomial');xlabel('x-axis');ylabel('y-axis');legend('y = x^3 - 2x - 5', 'Location', 'northwest');grid on;预期输出描述:该图显示一条立方 ‘S’ 形曲线。线条为虚线、橙红色,并在不同点处带有圆形标记。x 轴限制在 [-3, 3] 范围内。图例出现在左上角,标识曲线。
绘制参数曲线
Section titled “绘制参数曲线”您可以通过为每个坐标提供函数句柄来绘制 2D (fplot) 和 3D (fplot3) 参数曲线。
示例 3:二维参数圆
Section titled “示例 3:二维参数圆”% 定义 x 和 y 的参数函数funx = @(t) cos(t);funy = @(t) sin(t);
% 为参数 't' 指定区间以绘制完整的圆tinterval = [0, 2*pi];
figure;fplot(funx, funy, tinterval);
title('Parametric Plot of a Circle');xlabel('x = cos(t)');ylabel('y = sin(t)');axis equal; % 确保圆形不会扭曲成椭圆形grid on;预期输出描述:一个半径为 1、以原点为中心的完美圆形。axis equal 命令确保两个轴上的比例相同,防止出现倾斜的外观。
使用 fplot3 绘制三维曲线
Section titled “使用 fplot3 绘制三维曲线”fplot3 的工作方式类似,但需要 x(t)、y(t) 和 z(t) 的三个函数句柄。
示例 4:三维螺旋线
Section titled “示例 4:三维螺旋线”让我们绘制一条螺旋线并通过处理返回的绘图对象来自定义其外观。
% 定义螺旋线的参数函数xt = @(t) cos(t); % x 坐标yt = @(t) sin(t); % y 坐标zt = @(t) t; % z 坐标
% 为参数 't' 指定区间tinterval = [0, 10*pi];
figure;% 创建时获取绘图句柄 'h'h = fplot3(xt, yt, zt, tinterval);
% --- 使用句柄 'h' 自定义绘图 ---h.LineWidth = 2.5;h.Color = 'm'; % 洋红色
title('3D Plot of a Helix');xlabel('X');ylabel('Y');zlabel('Z');grid on;view(30, 25); % 设置一个合适的三维视角预期输出描述:一个 3D 图,显示一条洋红色螺旋线(helix),线宽为 2.5 磅。螺旋线围绕 z 轴缠绕,从 z=0 延伸到 z=10*pi。视角倾斜以清晰显示其 3D 结构。
绘图最佳实践
Section titled “绘图最佳实践”- 始终添加标签:没有标题和轴标签的图是模糊的。使用
title()、xlabel()、ylabel()和legend()来使您的图信息丰富。 - 函数句柄:使用函数句柄(
@)来绘制数学表达式。它们高效且清晰。 - 逐元素操作:定义函数时,使用逐元素运算符(
.*、./、.^)以确保您的函数能够正确处理向量输入,fplot内部会使用这些输入。 - 可访问性:对于黑白出版物,不要仅仅依赖颜色。使用不同的线条样式(
--、:、-.)和标记(o、x、+)来区分不同的数据系列。 - 保存图:使用
exportgraphics(gca, 'myplot.png', 'Resolution', 300)生成高质量、高分辨率的图像文件。