三边定位算法

一:matlab 在三维空间的三边定位算法模拟如何写?

按照楼主的算法给楼主编了一个函数,楼主将它存为一个m文件,在matlab的命令窗口即可运行。

这里主要用到一个解线性方程组的方法楼主可以主要一下。其实matlab的在矩阵方面是十分强大方便的。例如此处可以直观的用A\b来解决你的方程,即可理解为向量b左除一个矩阵A,这就是你要的解。(你这里因为A的逆矩阵在b的左面相乘,如果是右面当然还有右除即b/A)。

function [locx,locy,locz]=fourposition(xa,ya,za,da,xb,yb,zb,db,xc,yc,zc,dc,xd,yd,zd,dd)

A = [(xa-xd),(ya-yd),(za-zd);

(xb-xd),(yb-yd),(zb-zd);

(xc-xd),(yc-yd),(zc-zd)];

A = 2*A;

b = [xa*xa-xd*xd+ya*ya-yd*yd+za*za-zd*zd+dd*dd-da*da;

xb*xb-xd*xd+yb*yb-yd*yd+zb*zb-zd*zd+dd*dd-db*db;

xc*xc-xd*xd+yc*yc-yd*yd+zc*zc-zd*zd+dd*dd-dc*dc];

ans = A\b;

locx = ans(1);

locy = ans(2);

locz = ans(3);

end

二:数学高手,快请进吧,三点定位计算。拜托了!

X²+Y²=c²

X²+(A-Y)=a²

(B-X)²+Y²=b²

联立上述三个方程解得

X=(c²-b²+B²)/2B,未知量为c²-b²

Y=(c²-a²+A²)/2A,未知量为c²-a²

由题目易得 L1+L3=L2

所以L1,L2,L3中知道任意两个可以轻易推出第三个

代入得c²-b²= - L3(2c+L3)

c²-a²= - L2(2c+L2)

最后就剩唯一一个未知数c怎么都消不掉······

抱歉,总感觉少个条件做不了······

希望能给您帮助

三:java如何实现三点定位 20分

你可以看看三边定位法和极大似然定位法。这两个都是算法,具体代码还要自己写

四:哪位大神帮忙把这段matlab代码转成C语言的,是三边定位的,感激不尽!!!!!!! 50分

sorry~matlab学成马; 、帮顶了。

五:利用matlab分别对三边测量定位算法和改进算法进行仿真和验证 急求源程序

%% 清空环境变量

clc

clear

load data

%% 数据累加作为网络输入

[n,m]=size(X);

for i=1:n

y(i,1)=sum(X(1:i,1));

y(i,2)=sum(X(1:i,2));

y(i,3)=sum(X(1:i,3));

y(i,4)=sum(X(1:i,4));

y(i,5)=sum(X(1:i,5));

y(i,6)=sum(X(1:i,6));

end

%% 网络参数初始化

a=0.3+rand(1)/4;

b1=0.3+rand(1)/4;

b2=0.3+rand(1)/4;

b3=0.3+rand(1)/4;

b4=0.3+rand(1)/4;

b5=0.3+rand(1)/4;

%% 学习速率初始化

u1=0.0015;

u2=0.0015;

u3=0.0015;

u4=0.0015;

u5=0.0015;

%% 权值阀值初始化

t=1;

w11=a;

w21=-y(1,1);

w22=2*b1/a;

w23=2*b2/a;

w24=2*b3/a;

w25=2*b4/a;

w26=2*b5/a;

w31=1+exp(-a*t);

w32=1+exp(-a*t);

w33=1+exp(-a*t);

w34=1+exp(-a*t);

w35=1+exp(-a*t);

w36=1+exp(-a*t);

theta=(1+exp(-a*t))*(b1*y(1,2)/a+b2*y(1,3)/a+b3*y(1,4)/a+b4*y(1,5)/a+b5*y(1,6)/a-y(1,1));

kk=1;

%% 循环迭代

for j=1:10

%循环迭代

E(j)=0;

for i=1:30

%% 网络输出计算

t=i;

LB_b=1/(1+exp(-w11*t)); %LB层输出

LC_c1=LB_b*w21; %LC层输出

LC_c2=y(i,2)*LB_b*w22; %LC层输出

LC_c3=y(i,3)*LB_b*w23; %LC层输出

LC_c4=y(i,4)*LB_b*w24; %LC层输出

LC_c5=y(i,5)*LB_b*w25; %LC层输出

LC_c6=y(i,6)*LB_b*w26; %LC层输出

LD_d=w31*LC_c1+w32*LC_c2+w33*LC_c3+w34*LC_c4+w35*LC_c5+w36*LC_c6; %LD层输出

theta=(1+exp(-w11*t))*(w22*y(i,2)/2+w23*y(i,3)/2+w24*y(i,4)/2+w25*y(i,5)/2+w26*y(i,6)/2-y(1,1)); %阀值

ym=LD_d-theta; %网络输出值

yc(i)=ym;

%% 权值修正

error=ym-y(i,1); %计算误差

E(j)=E(j)+abs(error); %误差求和

error1=error*(1+exp(-w11*t)); %计算误差

error......余下全文>>

六:需要用CC2530完成WSN无线定位,但不知如何下手,能否具体指导下,不胜感激

最简单的算法就是质心定位算法,你可以上网看看,这种不需要RSSI值。

也有三边定位算法,这个就需要RSSI值的。

这两种定位算法是最常见的也是相当简单的定位算法,也有很多改进的定位算法,你可以查询一些相关的定位方面论文。

希望对你有帮助,欢迎继续追问!!

扫一扫手机访问

发表评论