已知各點之間的距離,怎麼用MATLAB畫出點

2022-01-20 10:18:16 字數 4736 閱讀 6436

1樓:匿名使用者

一共有9個點

設第一個點p1為(0,0) 第二點p2則為(40,0)這樣子來計算其它點的位置

譬如第三點p3距離p1為60,p3距離p2為65那麼可以解兩個圓方程,求得圓的交點便為p3第一個圓方程 x^2+y^2=60^2

第二個圓方程 (x-40)^2+y^2=65^2matlab表示式

solve('x^2+y^2=60^2','(x-40)^2+y^2=65^2')

算出來有兩組值

x =[ 195/16]

[ 195/16]

y =[ 15/16*3927^(1/2)][ -15/16*3927^(1/2)]

隨便取一組就可以了

這樣就算出p3

p4也是同樣的方法來算,通過p1,p2來解注意,p4算出來後需要驗算,p4到p3的距離必須滿足題設依次類推,後面每一個點pn都用p1,p2來算,並用p3到pn-1來進行驗算

我私以為大多數情況下,一組鄰接矩陣都是無解的其實點之間的距離不一定是直線,可以是折線,曲線所以點的位置可以隨便擺放,路經上表示出距離就可以了請參考這裡

2樓:教學實驗講義

解一個超定 方程:因為你是二維 座標的話,你有16個未知數,c(8,2)=28個方程,所以想要畫圖的 話,可以 把 這些 點的座標解出來。

當然 可能有高手 有其他 的 方法

已知多個點之間的距離 若固定其中一個點的位置 怎麼用matlab畫出各個點的分佈

3樓:卷賢毓緞

假設n個點,偽**

*************************===globalmax=0

%記錄全域性最遠

globali=1

%記錄全域性第一個點

globalj=1

%記錄全域性第二個點

fori=1:n

localmax=0

%記錄本次最大

locali=i

%記錄本次第一個點

localj=1

%記錄本地第二個點

forj=2:n

ifdistance(i,j)>localmaxlocalmax=distance(i,j)locali=i

localj=j

endif

nextjif

localmax>globalmax

globalmax=localmax

globali=locali

globalj=localj

endif

next

i******************************=你會matlab,直接照這個思路寫好**即可

已知多個點之間的距離 若固定其中一個點的位置 怎麼用matlab畫出各個點的分佈

4樓:匿名使用者

首先這些點之間的距離是具有旋轉不變性的,如果沒有其他限制的話,固定第一個已知點後,第二個點可以在以第一個點為圓心的圓上任意取點。確定第1,2個點後,取與第1,2兩點不在同一直線上的第3個點,第3個點的位置由這一點與第1,2兩點的距離確定,有2個位置,取定其中一個。這時平面上有3個點,且不在同一直線上,可以確定一個平面,那麼其他的點的位置就唯一確定了。

從第4個點開始,每個點都可以由這個點與3個已知點的距離唯一確定。

演算法流程大概就是這樣的,**自己編吧。

當然,這裡討論的是二維平面上的點。若是三維空間,就需要4個不在同一平面上的點來確定。

在matlab中知道多個點的位置座標,怎樣求各個點之間的距離? 5

5樓:諾諾百科

關鍵函式pdist( )

clcclear all

close all

x = [0 1;    % 第一列是橫座標,第二列是縱座標1 2;

2 3];

d = pdist(x);  % 計算兩兩點之間距離disp(d);

figure

plot(x(:,1), x(:,2), '^--');

grid on

xlabel('x');

ylabel('y');

輸出結果:

1.4142    2.8284    1.4142n=length(a);

distace=zeros(n);

for i=1:n

for j=i+1:n

distance=sqrt(sum((a(i,:)-a(j,:)).^2));

endend

6樓:楓林雪

1、你可以將橫座標存放於矩陣a的第一列中,縱座標存放於矩陣a的第二列中

2、之後執行下述**:

n=length(a);

distace=zeros(n);

for i=1:n

for j=i+1:n

distance=sqrt(sum((a(i,:)-a(j,:)).^2));

endend

3、得到的distance即為你所求兩點之間的距離,為0的地方只是那兩個點已經求過了,不想重 復求取。

matlab中已知各點的位置座標,也知道每點之間的鄰接矩陣,如何繪製出圖形

7樓:匿名使用者

使用gplot函式,很容易就能畫出圖

gplot(a,xy);

a是鄰接矩陣,大小是nxn,(n個節點的鄰接矩陣)xy是各點的座標,是nx2的矩陣,存放n個點的x,y座標gplot會連根據a連線點

已知各點的位置座標,如何用matlab程式設計來繪製二維散點圖

8樓:匿名使用者

gplot(a,b)%a-關係矩陣,b-各點座標——————————————

a是一個0-1對稱方陣,如果第i個點

版和第j個點相連權,那麼a(i,j)=a(j,i)=1,如果不相連,那麼a(i,j)=a(j,i)=0

b是2列的矩陣,第i行就是第i個點的座標

下面的連結是一個例子

————————————————————————還有就是這兩天這個圖我已經見過n次了,希望做數模競賽的朋友用自己的實力比賽,即使使用最一般的plot函式,加幾個迴圈照樣可以輕鬆繪製的。

9樓:匿名使用者

比如在你的連通關係中,已知了a和b點連線,且a的座標為(xa,ya),b的座標(xb,yb)那麼a,b之間的邊可以這樣畫:

plot([xa,xb],[ya,yb])

10樓:泊進

連通關係也是已知的嗎?是用什麼表示連通關係的?

在已知n個點三維座標的情況下,求每兩點之間的距離。。。用matlab。。。謝謝

11樓:思考再深一點

首先將已知點的座標按n*3的方式輸入到矩陣p中,那麼呼叫矩陣中的i點和j點就分別是p(i,:),p(j,:)

然後建立函式計算兩點間的距離d=sqrt(sum((pt(i,:)-pt(j,:)).^2))

我試編了一個執行了下:

pt=[1 2 3;4 5 6;7 8 9;10 11 12;13 14 15];

for i=1:5

for j=1:5

d(i,j)=sqrt(sum((pt(i,:)-pt(j,:)).^2));

endend

d很方便找出兩個點的距離,但是你要記住點的位置才行,這樣才能在矩陣中尋找到。

如果說你一開始沒有矩陣,之右離散的資料點,首先要構建這個矩陣可以用下列語句:

n=input('please input point number:');

for i=1:n

pt(i,1)=input('please input x coordinate:');pt(i,2)=input('please input y coordinate:');pt(i,3)=input('please input z coordinate:

');endfor i=1:n

for j=1:n

d(i,j)=sqrt(sum((pt(i,:)-pt(j,:)).^2));

endend

d 對角線位置說明了同一點的距離為0,而點是按行輸入的,加入找i行j列那就是i號點和j號點的距離,其實與j行i列等同。它是對稱陣。

12樓:匿名使用者

假設x是n個點的座標

x = [1 1 1;

2 2 2;

3 3 3

. . .;

n n n

];for i = 1:n

for j = 1:n

dis(i,j) = sqrt(sum((x(i,:)-y(j,:)).^2));

end;

end;

怎樣用matlab畫幾個已知的點

13樓:匿名使用者

不用30個plot,把30個點的x座標都放到x(1:30)裡,y座標放到y(1:30)裡就行了

14樓:

plot(x,y,'o')

x是二維點的橫座標向量

y是二維點的縱座標向量

如何計算影象中兩點(象素)之間的距離

可以根據座標系的方法來計算影象中兩點之間的距離。設影象兩點座標為m點 x1,y1 n點 x2,y2 那麼兩點距離就是 mn x2 x1 y2 y1 例如 x1 4,y1 2,x2 7,y2 6,那麼這兩點之間局離為 7 4 6 2 5。初中的幾何問題,有好幾種解法,例如 根據已知點計算y kx b中...

已知點Px,y,且xy0,點P到x軸的距離是單位

xy 0,x y同號,點p到x軸的距離是3個單位,到y軸的距離是2個單位,點p的橫座標是2或 2,縱座標是3或 3,點p的座標是 2,3 或 2,3 故選c.已知a點座標 x,y xy 0,且到x軸距離是三到y軸距離是四則a點座標為?題意得 丨y丨 3,丨x 4 x 4,y 3 xy 0 x 4,y...

已知直線L經過點 2,3 ,且原點到直線的距離是2,求直線的方程

由題意知 有兩個直線方程的存在 斜率存在時 直線l存在斜率k 設l的方程為y kx b l經過點 2,3 所以 2k b 3 又 原點到l的距離為2 b 根號 k 2 1 2 聯立 解得 k 5 12,b 13 6 l的方程為y 5 12x 13 6 斜率不存在時,由於通過 2,3 所以直線方程式x...