热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一阶多智能体matlab,我想实现MATLAB多智能体仿真,不知道哪里出问题了,希望........

想实现三个小车从无序到三角形编队前进,可是仿真出来是这样的%%小车的状态重新定义clear;clf;clc;n3;l0.05;k0.02;%c[0.2;0];c2;T

想实现三个小车从无序到三角形编队前进,可是仿真出来是这样的

%% 小车的状态重新定义

clear;

clf;

clc;

n = 3;

l = 0.05;

k = 0.02;

% c = [0.2;0];

c =2;

T = 0.1;

loop = 200;

co(1,1) = 'r';

co(1,2) = 'b';

co(1,3) = 'g';             %颜色

a = zeros(2,n);

theta = zeros(1,n);

a =[0.57,0.45,0.74;-0.51,-0.22,-0.31];

theta = [0.43,0.60,-0.80];

p = zeros(1,n);

q = zeros(1,n);

u = zeros(2,n);

invA = zeros(2,2);

difgammaTrans = zeros(2,n);

A = zeros(2,2);

% sk = zeros(loop,n);

%%

a(1,:) = a(1,:) + l*cos(theta(1:n));

a(2,:) = a(2,:) + l*sin(theta(1:n));

for f = 1:loop

for i = 1:n

if i ~= n

%             diffgammaTrans(:,i) = 2*(abs(a(:,i)-a(:,i+1)-c));

%             difgammaTrans(:,i) = 2*[a(1,i)-a(1,i+1);a(2,i)-a(2,i+1)-c];

difgammaTrans(:,i) = 2*[a(1,i)-a(1,i+1)-c;a(2,i)-a(2,i+1)];

else

%             diffgammaTrans(:,i) = 2*(abs(a(:,i)-a(:,1)-(n-1)*c));

%             difgammaTrans(:,n) = 2*[a(1,n)-a(1,1);a(2,n)-a(2,1)-(n-1)*c];

difgammaTrans(:,n) = 2*[a(1,n)-a(1,1)+(n-1)*c;a(2,n)-a(2,1)];

end

invA = (1/l)*[l*cos(theta(i)),l*sin(theta(i));-sin(theta(i)),cos(theta(i))];

A = [cos(theta(i)),-l*sin(theta(i));sin(theta(i)),l*cos(theta(i))];

u(:,i) = -1/(2*T)*k*(invA)*(difgammaTrans(:,i));

%        a(:,i) = a(:,i) + T*A*u(:,i);                %% 位置更新

zj(:,i) = a(:,i);

a(1,i) = a(1,i) + T*A(1,:)*u(:,i);

a(2,i) = a(2,i) + T*A(2,:)*u(:,i);

sk(f,i) = sqrt((zj(1,i)-a(1,i))^2+(zj(2,i)-a(2,i))^2);

theta(i) = theta(i)+T*u(2,i);

subplot(2,1,1);

hold on

%         plot(p(1,i),q(1,i),'o');

plot(a(1,i),a(2,i),'o','color',co(1,i));

hold off

title(['Iteration: ' dec2base(f,10)]);

subplot(2,1,2);

hold on

plot(f,sk(f,i),'*','color',co(i));

hold off

getframe;                                    %% 作图

end

%% 此段为实现小车被移动后重新编队效果,需要修改loop值

%     if f==200

%         a(1,1)=2;

%         a(2,1)=0.2;

%         theta(1)=0.4;

%     end

%     if f==350

%         a(1,2)=0;

%         a(2,2)=0.1;

%         theta(2)=0.5;

%     end

end

legend('robot1','robot2','robot3');

% legend('robot1','robot2','robot3');

% figure(2);

% for ti = 1:loop

%     for ii = 1:n

%         hold on

%     plot(ti,sk(ti,ii),co(ii));

%     hold off

%     end

% end

% % xlebal('t(s)');

% % xlebal('Error');

% %标注出错,原因查找

% legend('robot1','robot2','robot3');

%% 最后的关键在于节点之间的理想状态之间的关系没有描述好,i和i+1之间的c描述为+2,而n和1之间则需要-2。

希望大家可以指导一下我该怎么修改,谢谢啦

补充内容 (2018-6-1 19:38):

是的撒多撒

2018-4-28 13:05 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

bb49f4c94008f82a0ea004a3d44d117f.png



推荐阅读
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 添加环境光使正方体显示更真实
    本文介绍了如何给正方体添加环境光以使其显示更真实。通过在代码中加入环境光的计算,可以让物体的背光部分不再完全黑色,从而增加物体的真实感。代码中使用了顶点属性、光照颜色、光照方向、环境光等参数来计算物体的漫反射,并将计算结果与顶点颜色相乘得到最终的颜色。通过调整环境光的参数,可以达到不同的光照效果。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
author-avatar
手机用户2602936797
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有