MATLAB基础绘图实验:正弦余弦函数、指数函数及参数化图形绘制
创作时间:
作者:
@小白创作中心
MATLAB基础绘图实验:正弦余弦函数、指数函数及参数化图形绘制
引用
CSDN
1.
https://blog.csdn.net/2301_78460097/article/details/142741314
本文将通过四个MATLAB绘图实验,帮助读者掌握基础绘图、正弦余弦函数、指数函数以及参数化图形的绘制方法。每个实验都包含了详细的代码和运行结果,适合MATLAB绘图初学者参考学习。
实验一:在同一窗口绘制sin(x)和cos(x)的曲线
题目要求
编写程序,在同一窗口画出函数sin(x)在区间[0, 2π]的曲线和cos(x)在区间[-π, π]的曲线,正弦曲线为红色虚线,余弦曲线为绿色点线,图片需有完整的注释,x轴坐标用π弧度表示(使用set()进行设置)。
MATLAB代码
x1 = 0:pi/20:2*pi;
y1 = sin(x1);
x2 = -pi:pi/20:pi;
y2 = cos(x2);
% 第一个子图:正弦函数
subplot(2,1,1);
plot(x1, y1, '--r', 'DisplayName', '正弦函数'); % 使用红色虚线绘制,并添加注释
grid on;
axis([0, 2*pi, -2, 2]);
set(gca, 'XTick', 0:pi/2:2*pi); % 设置横坐标刻度
set(gca, 'XTickLabel', {'0', '\pi/2', '\pi', '3\pi/2', '2\pi'}); % 设置横坐标标签
legend show; % 显示图例
% 第二个子图:余弦函数
subplot(2,1,2);
plot(x2, y2, ':g', 'DisplayName', '余弦函数'); % 使用绿色点划线绘制,并添加注释
grid on;
axis([-pi, pi, -2, 2]);
set(gca, 'XTick', -pi:pi/2:pi); % 设置横坐标刻度
set(gca, 'XTickLabel', {'-\pi', '-\pi/2', '0', '\pi/2', '\pi'}); % 设置横坐标标签
legend show; % 显示图例
运行结果
实验二:比较y及指数函数e^(-x)的曲线
题目要求
在同一窗口中画出y及指数函数e^(-x)的曲线,图片需有完整的注释。
MATLAB代码
% 定义 x 的范围
x = linspace(0, 1, 100); % 生成 0 到 1 的 100 个点
% 定义函数 y
y = (1 - 3/5 * x + 3 * x.^2 / 20 - x.^3 / 60) ./ (1 + 2 * x / 5 + x.^2 / 20);
% 计算 e^(-x)
y_exp = exp(-x);
% 绘制图形
figure; % 创建新图形窗口
hold on; % 保持当前图形,使多个图在同一窗口中绘制
plot(x, y, 'b-', 'LineWidth', 2, 'DisplayName', 'y = \frac{1 - \frac{3}{5}x + \frac{3}{20}x^2 - \frac{1}{60}x^3}{1 + \frac{2}{5}x + \frac{1}{20}x^2}'); % 绘制 y
plot(x, y_exp, 'r--', 'LineWidth', 2, 'DisplayName', 'e^{-x}'); % 绘制 e^(-x)
% 添加网格
grid on;
% 设置坐标轴范围
axis([0 1 0 1]);
xlabel('x'); % x轴标签
ylabel('y'); % y轴标签
title('Comparison of y and e^{-x}'); % 图形标题
% 添加图例
legend('show');
% 添加注释
text(0.2, 0.7, 'y 函数', 'Color', 'blue', 'FontSize', 10);
text(0.6, 0.4, 'e^{-x} 函数', 'Color', 'red', 'FontSize', 10);
hold off; % 释放图形
运行结果
实验三:使用subplot函数绘制函数在不同区间的图形
题目要求
使用subplot函数分别绘制函数f(x) = (x+1)(x-2)(2x-0.25) - exp(x)在区间x∈[0,3]和x∈[3,6]的图形,图形y轴需使用对数刻度,每幅子图需标注标题及坐标轴。
MATLAB代码
% 定义 x 的范围
x1 = linspace(0, 3, 100); % 生成 0 到 3 的 100 个点
x2 = linspace(3, 6, 100); % 生成 3 到 6 的 100 个点
% 定义函数 f(x)
f = @(x) (x + 1) .* (x - 2) .* (2 * x - 0.25) - exp(x);
% 计算函数值
y1 = f(x1);
y2 = f(x2);
% 创建新图形窗口
figure;
% 第一个子图:区间 [0, 3]
subplot(2, 1, 1);
semilogy(x1, abs(y1), 'b-', 'LineWidth', 2); % 使用对数刻度绘制 y 轴
grid on;
xlabel('x'); % x轴标签
ylabel('log(abs(y))'); % y轴标签
title('f(x) = (x+1)(x-2)(2x-0.25) - e^x, x \in [0, 3]'); % 子图标题
% 第二个子图:区间 [3, 6]
subplot(2, 1, 2);
semilogy(x2, abs(y2), 'r-', 'LineWidth', 2); % 使用对数刻度绘制 y 轴
grid on;
xlabel('x'); % x轴标签
ylabel('log(abs(y))'); % y轴标签
title('f(x) = (x+1)(x-2)(2x-0.25) - e^x, x \in [3, 6]'); % 子图标题
运行结果
实验四:绘制包含1000个点的图形
题目要求
绘制包含1000个点的图形,点sk坐标为(xk, yk),其中参数d的数值可以更改,观察图形变化。
MATLAB代码
% 定义参数
N = 1000; % 点的数量
d = 137.51; % 初始参数 d
% 计算点的坐标
k = 1:N;
cita = pi * d * k / 180;
rk = sqrt(k);
xk = rk .* sin(cita);
yk = rk .* cos(cita);
% 绘制初始图形
figure;
plot(xk, yk, 'b.', 'MarkerSize', 10);
title(['d = ', num2str(d)]);
xlabel('x');
ylabel('y');
grid on;
axis equal;
% 尝试更换常量 d 的数值
d_new = 150; % 新的 d 值
% 重新计算点的坐标
cita_new = pi * d_new * k / 180;
xk_new = rk .* sin(cita_new);
yk_new = rk .* cos(cita_new);
% 绘制新图形
figure;
plot(xk_new, yk_new, 'r.', 'MarkerSize', 10);
title(['d = ', num2str(d_new)]);
xlabel('x');
ylabel('y');
grid on;
axis equal;
运行结果
热门推荐
三大麻将口诀,让你秒变高手!
美国犹太社团的“双头怪物”:宗教保守与政治进步的两极分化
2025年军人家属生育补助金标准及申请指南
冬日仙境:望仙谷悬崖民宿的悠闲时光
望仙谷:悬崖上的仙侠小镇
望仙谷:现实版仙侠世界的完美打卡攻略
电容的工作原理
广州周边秋日自驾游打卡地推荐
浙大&港中深发布AI医疗VR新突破!
宾大最新研究:VR如何改变现代医学?
春节亲子剪窗花,AI助力创意无限
凤凰古城:千年建筑之美
凤凰古城:历史与现代交织的文化明珠
张家界+凤凰古城5日4夜深度游攻略
练长胶还是练反胶提高快、能赢球?乒乓球爱好者需要了解的真相
探访贵州古镇:旧州与青岩的文化魅力
Osso VR裁员背后:医疗就业市场的经济影响
莆田16处景点全攻略:湄洲岛、九龙谷等景点特色详解
张坤谈股票型基金风险:如何避坑?
宏观经济波动下,你的股票型基金还好吗?
新疆艺术学院再登春晚舞台:《秧BOT》展现科技与传统融合魅力
新疆面孔闪耀春晚舞台:治沙人、玫瑰花姑娘与戍边少年
新疆木卡姆艺术:千年传承焕新颜
水瓶男的愛情:探索水瓶座男性的浪漫心靈
香港美食与景点推荐:从蛋挞到星光大道
湛江自驾游:东海岛、湖光岩、特呈岛必打卡!
湛江自驾游必打卡:南国热带花园
广州水价调整:220立方米水费将涨至539元,低收入家庭如何保障?
阶梯水价下,如何规划220立方米水费?
北京文旅生活季|探索博物馆中的北京城——何以北京·文脉相承