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;
运行结果
热门推荐
布洛芬颗粒:儿科退烧新宠的安全使用指南
鲁晓蓓教你正确使用布洛芬颗粒
宝宝发烧用布洛芬颗粒,这些细节你必须知道!
碳金融创新助力全国碳市场高质量发展
中国碳市场迎来突破:碳价创新高,成交额超181亿元
个人养老金全面实施,金融产品服务如何优化供给?
经济热点问答丨时隔4年重启降息 “美元潮汐”如何影响全球经济
银行存折的存款期限有哪些选择?
小腿部皮肤瘙痒警惕9种疾病老人
畏寒怕冷,手脚冰凉?中医四逆散助你温暖四肢
哪些证书可以提高数据分析师的薪酬?
《哪吒2》票房逆跌创纪录,吴京8年票房冠军地位或将终结
杨劲武:以5G建设引领桂林数字化转型
阿莫西林存储小妙招:避光密封保安全
阿莫西林滥用:小心你的肝脏!
服用阿莫西林期间,这些食物请远离!
桃江擂茶:一碗茶里的千年文化传承
客家擂茶:千年古韵的文化传承
安化擂茶:千年古茶的匠心传承
江西石城擂米茶:一碗传承千年的客家文化瑰宝
将乐擂茶:民俗活动中的灵魂饮品
十四郎仙侠剧爆火,揭秘影视剧改编新趋势
房产投资如何规避风险?这份攻略请收好
千年珍果香榧子:浙江诸暨的乡村振兴“金钥匙”
乾隆皇帝和苏东坡都爱吃的坚果之王:香榧子
千年圣果推荐:香榧子的健康益处
九龙玉玺的文化内涵、象征意义与历史传承解析
九龙玉玺的象征含义:揭秘寓意与真品鉴定
冷空气来袭!崇州下周最低气温将降至0℃,高海拔地区有降雪
崇州市:西部璀璨明珠的崛起之路