MATLAB+大学物理·绘制力矢量的合成与分解图

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

MATLAB+大学物理,力的合成与分解示意图,使用quiver函数绘制矢量箭杆


提示:以下是本篇文章正文内容,下面案例可供参考

一、程序效果图

程序运行后如图:在这里插入图片描述

二、使用步骤

1.设置力的大小和方向

代码如下(示例):

clear,close all
% 输入力的大小和方向
F1_magnitude = 5;  % 第一个力的大小
F1_angle = 30;    % 第一个力的方向(相对于x轴的角度,单位:度)

F2_magnitude = 8;  % 第二个力的大小
F2_angle = 120;   % 第二个力的方向(相对于x轴的角度,单位:度)

% 将角度转换为弧度
F1_angle_rad = deg2rad(F1_angle);
F2_angle_rad = deg2rad(F2_angle);

% 合成力的矢量
F1_vector = F1_magnitude * [cos(F1_angle_rad), sin(F1_angle_rad)];
F2_vector = F2_magnitude * [cos(F2_angle_rad), sin(F2_angle_rad)];

% 总合成力
F_total = F1_vector + F2_vector;

2.图窗绘图

代码如下(示例):

% 创建一个新的图形窗口
figure;

% 绘制力1箭杆
quiver(0, 0, F1_vector(1), F1_vector(2), 0, 'b', 'LineWidth', 2);
hold on;

% 绘制力2箭杆
quiver(0, 0, F2_vector(1), F2_vector(2), 0, 'r', 'LineWidth', 2);

% 绘制合成力箭杆
quiver(0, 0, F_total(1), F_total(2), 0, 'g', 'LineWidth', 2);

% 绘制平行四边形
plot([0, F1_vector(1)], [0, F1_vector(2)], 'k--');
plot([F1_vector(1), F_total(1)], [F1_vector(2), F_total(2)], 'k--');
plot([F2_vector(1), F_total(1)], [F2_vector(2), F_total(2)], 'k--');

%绘制投影线
% projection_F1 = F1_vector - dot(F1_vector, F2_vector)/norm(F2_vector)^2 * F2_vector;%F1-F2
% quiver(0, 0, projection_F1(1), projection_F1(2), 0, 'm--', 'LineWidth', 1);
% projection_F2 = F2_vector - dot(F1_vector, F2_vector)/norm(F1_vector)^2 * F1_vector;
% quiver(0, 0, projection_F2(1), projection_F2(2), 0, 'c--', 'LineWidth', 1);

3.标注


% 标注夹角
angle_rad = acos(dot(F1_vector, F2_vector) / (norm(F1_vector) * norm(F2_vector)));
angle_deg = rad2deg(angle_rad);
text(0.5, -0.5, ['夹角: ', num2str(angle_deg), ' 度'], 'FontSize', 10);

% 标注矢量长度关系
text(F1_vector(1)/2, F1_vector(2)/2, ['F1/F2 = ', num2str(F1_magnitude/F2_magnitude)], 'FontSize', 10);

% 设置图形属性
axis equal;
grid on;
title('力矢量的合成与分解(平行四边形法则)made by光电面壁人');
xlabel('X轴');
ylabel('Y轴');

% 添加图例
legend('力1', '力2', '合成力', 'Location', 'Best');

% 显示图形
hold off;

总结

在MATLAB中绘制矢量箭杆可以用quiver函数

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值