Matlab学习(追击走私船问题(包括动态显示其图像)和最小二乘法直线拟合)

news/2024/10/25 16:29:28/

目录

  • 追击走私船题目
    • 代码及其详解
      • 实现效果
  • 最小二乘法直线拟合题目
    • 代码及其详解
      • 实现效果

追击走私船题目

在这里插入图片描述 2.将曲线画为动态曲线

代码及其详解

%Ships pursuit
clc
clear
x0=zeros(1,1);y0=zeros(1,1);    %违法船只初始位置
x1=zeros(1,1);y1=zeros(1,1);    %值法船只初始位置
dt=0.01;               %离散化时间,时间变成一个很小的间隔
v0=30;v1=40;           %违法船只和执法船只的初始速度
x1(1,1)=20;            %初始化执法船只的初始位置
i=1;
while abs(x0(1,i)-x1(1,i)) > 1e-4   %当两者的距离小于极小值,代表追上了d=sqrt((x1(1,i)-x0(1,i))^2+(y1(1,i)-y0(1,i))^2);%两船之间的距离cosx=(x1(1,i)-x0(1,i))/d;        %两船连线与x轴的余弦sinx=(y0(1,i)-y1(1,i))/d;        %两船连线与x轴的正弦x0(1,1+i)=0;                     %更新一次数据,违法船只x不变y0(1,1+i)=y0(1,i)+v0*dt;         %违法船只y经过t后,y1=y0+vtx1(1,1+i)=x1(1,i)-v1*dt*cosx;    %执法船只朝着违法船只运动就是把xy分解,然后按照cos sin运动y1(1,1+i)=y1(1,i)+v1*dt*sinx;plot(x0(1,i),y0(1,i),'go',x1(1,i),y1(1,i),'ro')%go ro代表了绿色和红色hold on    %保持图像,让图像不被刷新xlim([0 50])
ylim([-55 79])%x y轴上限限制,也就是让最后显示图像出现的范围pause(0.1)%延时函数 让图像延时0.1s再进行i=i+1;    %点数加1
end
d1 = sqrt((x1(1,i)-x1(1,1))^2+(y1(1,i)-y1(1,1))^2)
t = dt*i %单位小时

动态曲线代码

%Ships pursuit
clc
clear
x0=zeros(1,1);y0=zeros(1,1);    %违法船只初始位置
x1=zeros(1,1);y1=zeros(1,1);    %值法船只初始位置
dt=0.01;               %离散化时间,时间变成一个很小的间隔
v0=30;v1=40;           %违法船只和执法船只的初始速度
x1(1,1)=20;            %初始化执法船只的初始位置
i=1;
writerObj = VideoWriter('Pursuit.avi')      %写入文件
open(writerObj)         %打开文件
while abs(x0(1,i)-x1(1,i)) > 1e-4   %当两者的距离小于极小值,代表追上了xlabel('东')ylabel('北')d=sqrt((x1(1,i)-x0(1,i))^2+(y1(1,i)-y0(1,i))^2);%两船之间的距离cosx=(x1(1,i)-x0(1,i))/d;        %两船连线与x轴的余弦sinx=(y0(1,i)-y1(1,i))/d;        %两船连线与x轴的正弦x0(1,1+i)=0;                     %更新一次数据,违法船只x不变y0(1,1+i)=y0(1,i)+v0*dt;         %违法船只y经过t后,y1=y0+vtx1(1,1+i)=x1(1,i)-v1*dt*cosx;    %执法船只朝着违法船只运动就是把xy分解,然后按照cos sin运动y1(1,1+i)=y1(1,i)+v1*dt*sinx;plot(x0(1,i),y0(1,i),'go',x1(1,i),y1(1,i),'ro')%go ro代表了绿色和红色axis([-10,50,-55,79])            %设置座标的xmin xmax ymin ymaxframe = getframe                 %获得一帧图像writeVideo(writerObj,frame)      %把这一帧显示到图像里面hold off    %保持图像,让图像不被刷新%如果把这里改为hold on 那么轨迹路线也会显示出来pause(0.1)%延时函数 让图像延时0.1s再进行i=i+1;    %点数加1
end
xlim([-10 50])
ylim([-55 79])%x y轴上限限制,也就是让最后显示图像出现的范围
d1 = sqrt((x1(1,i)-x1(1,1))^2+(y1(1,i)-y1(1,1))^2)
t = dt*i %单位小时

实现效果

在这里插入图片描述

最小二乘法直线拟合题目

在这里插入图片描述

代码及其详解

clc
clear
x = [1.3, 2.0, 3.6, 4.2, 5.3, 6.6, 7.8, 8.3, 9.1, 10.2];
y = [1.2, 3.2, 5.9, 6.5, 10.3, 11.2, 13.0, 14.6, 16.9, 18.3];
plot(x,y,'s')
a1 = polyfit(x,y,1);    % n=1 x一次拟合
%polyfit用来拟合散点图
x1 = [1.0:0.1:11.0];    %x的取值范围
y1 = a1(1)*x1 + a1(2);  %y的数值
%polyfit的1次拟合的第一个数据是斜率 第二个数据是常数
plot(x,y,'*')
hold on
plot(x1,y1,'ro')
k = a1(1)
b = a1(2)

实现效果

在这里插入图片描述


http://www.ppmy.cn/news/204089.html

相关文章

在浏览器中创建一个多人海盗射击游戏:

制作多人游戏具有挑战性,原因有以下几个:托管成本昂贵,设计棘手且难以实施。 通过本教程,我希望解决最后一个障碍。 这是针对那些知道如何制作游戏并熟悉JavaScript但从未制作过在线多人游戏的开发人员的。 完成后,您…

《MLB棒球创造营》:走近棒球运动·匹兹堡海盗队

​ 匹兹堡海盗(英语:Pittsburgh Pirates)是一支位于宾夕法尼亚州匹兹堡市的美国职棒大联盟球队,隶属于国家联盟中区。队史总计参与了7次世界大赛,并获得5座世界大赛冠军。 海盗队在创立第6年的1887年,即从…

算法设计_综合练习_编程题

目录 7-1 气球升起来... 1 7-2 集合A-B.. 2 7-3 排队... 3 7-4 办事大厅排队... 3 7-5 天梯赛的善良... 4 7-6 词典... 5 7-7 查找出现过的数字... 5 7-8 出现次数最多的数字和次数... 6 7-9 英雄出场王... 6 7-10 求n个数中差的绝对值相差最小的2个数的差值... 7 7-11 数列求和…

贪心训练专题一

文章目录 1:Swan学院社团招新2:看电影3:多参加活动,生活才精彩4:装箱问题5:CPA招新Ⅰ6:CPA招新Ⅱ7:h0154.加勒比海盗船——最优装载问题 1:Swan学院社团招新 作者 liaoni…

用Numpy实现简单的神经网络

目录 数据预处理模型设计训练过程小批量随机梯度下降 用numpy实现神经网络对波士顿房价进行预测 假设房价和各影响因素之间能够用线性关系来描述: y ∑ j 1 M x j w j b y { \sum_{j1}^Mx_j w_j} b yj1∑M​xj​wj​b 模型的求解即是通过数据拟合出每个 w j w_…

2020-09-06

满载而归 小红书 笔试时没有写出来,但是可以作为参考,如果有错误,请指正。 思路是,把海盗行船路径看成一颗n叉树, 例如 输入为: 5 2 3 3 2 3 5 海盗所有的路径为: n是多少呢? 对于…

菜鸟Python之————题海战术(14)

#小练习 # from multiprocessing import Process,Queue # class Student(): # def __init__(self,name,age): # self.namename # self.__ageage # def say(self): # print(self.name,self.__age) # def show(self): # return self…

linux和macos_如何在macOS和Linux上修复Corsair鼠标和键盘问题

linux和macos Corsair makes excellent “gaming” mice and keyboards with many great features, like custom RGB lighting, profile modes, macro support, and fine-tuned performance settings. Most of these require iCUE, Corsair’s proprietary software, which is …