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...