如何用matlab在圓區域畫出50個隨機點並將它們標記出來?

時間 2021-06-27 00:56:02

1樓:lidf

clc, close all, clear all

sc = 1.3;%定義縮放係數

xy_tra = 3;%定義標籤平移距離

r = 300; %定義圓的半徑

num_pt = 50;%定義資料點個數

randr = r * rand(num_pt, 1); %生成隨機點

phi = (2 * pi - 0) * rand(num_pt, 1); %生成隨機角度

x = randr .* cos(phi);%生成隨機x點

y = randr .* sin(phi);%生成隨機y點

%迴圈生成(x1,y1)標籤

for i = 1 : num_pt

xy_label(i,1) = cellstr([' (x',num2str(i),', y', num2str(i),')']);

end%生成半徑300圓的資料

xs = r * cos(0:0.01:2*pi);

ys = r* sin(0:0.01:2*pi);

figure('Position', [50 50 600 600])%開圖,定義圖的原點和大小

hold on %開啟hold on

box on %開啟圖的邊框

axis equal %設圖的xy軸相等

plot(xs,ys,'r--')%紅色虛線為半徑300的圓

scatter(x,y) %打x y的資料點

text(x+xy_tra,y+xy_tra*2,xy_label), box on, axis equal%打x y的標籤

xlim([-sc*r, sc*r])%定義x軸範圍

ylim = xlim; %設y軸範圍和x軸範圍相等

Matlab截圖

300半徑的圓裡生成50個隨機點外加標籤。

因為資料點有的離得比較近,標籤會發生覆蓋,你可以自己手調一下。

半徑300的圓在途中用紅色虛線表示。

不知道這是不是你要的圖。你執行一下試試,如果發現錯誤,給我發訊息。

如何用matlab畫出球面上多個已知點的弧線?

宇智波帶土 這裡給出一種繪製球面上兩點間圓弧的方法,以供參考 繪製球面上兩點的圓弧 ellipsoid函式用於繪製橢球 x 2 y 2 z 2 RR 1 半徑 center 0,0,0 球心 x y,z ellipsoid center 1 center 2 center 3 R,R R,30 fi...

在matlab裡面, 如何用FFT函式計算出諧波的真實幅值?

getnewer 訊號有P個諧波,假定各個諧波訊號實余弦訊號那麼就可以寫成2 P個復指數訊號。那麼最極端的情況下 無噪 你只需要4 P點的FFT,就可以算出諧波的每個頻率,進而求出每個諧波上的幅度。有噪情況下,FFT的點數N N 4P 越大,抗噪效能越好。 王俊 細分頻率 當N 128時,15Hz和...

如何用Matlab 畫達芬方程?

馬遠馳 樓上已經給出了完整解法,我用Julia也求解了一遍,樓主可以作為參考。using DifferentialEquationsusing Plots function dydt dy y,p t delta alpha beta gamma omega p dy 1 y 2 dy 2 delt...