EDA365电子论坛网
标题:
MATLAB源程序代码分享:MATLAB实现在圆上随机取四个点并绘制线段
[打印本页]
作者:
House
时间:
2020-3-16 11:24
标题:
MATLAB源程序代码分享:MATLAB实现在圆上随机取四个点并绘制线段
. P) Y R$ R5 u6 n, O0 ]
MATLAB源程序代码分享:MATLAB实现在圆上随机取四个点并绘制线段
1 t0 N" T* _8 \# z0 A7 D
%% 根据圆的参数方程, 计算圆上点的坐标, 并绘制圆
3 a6 d9 H1 N: ~1 |
clear;clc;close all
8 A, O; a2 _4 F$ E2 m+ d: B
r=10; % 定义圆的半径
* D( M/ u6 x1 ^% a+ F
theta=0:0.01:2*pi; % 角度从 0 到 2*pi
; ^! C U$ p$ i
N=length(theta); % 计算数据点的个数 N
! _# d3 t M9 }1 Z8 s
x=r*cos(theta); % 圆上点的横坐标 x
* ]4 ^) f7 v1 Y0 |* n
y=r*sin(theta); % 圆上点的纵坐标 y
" H6 O9 M* W, ?: f) F, Q7 H1 U- L
8 y {" Y2 ?0 _ z( k/ ?. s
figure
/ o5 @- M6 r- ~7 b+ g" j9 E" M
set(gcf,'units','normalized','position',[0.2 0.2 0.6 0.6]); % 设置 figure 窗口的位置和尺寸
/ h- j/ K. h9 t! m0 ]$ r
plot(x,y) % 绘制圆
. E2 F/ D3 E/ N" o
hold on
. b$ s7 z. R$ A' G' y4 @+ m
axis equal
0 c6 J: v3 F2 U" j/ o E( d
2 G( b8 N3 E9 ?9 R5 b& ?9 W0 @
%% 在圆上随机取四个点, 并得到这四个随机点的坐标值
+ l& j& D0 n0 l& t6 L
num=ceil(N*rand(4,1)); % 在 1~N 里随机取四个整数
4 ?7 N: r: A7 \/ X5 ~* V7 m7 c
num=sort(num); % 将这四个整数按照升序排列
, {3 B! h7 a5 v# v
points_x=x(num); % 圆上四个随机点的横坐标
[( H: c7 `' ?* K+ g6 ?
points_y=y(num); % 圆上四个随机点的纵坐标
' n, }' I, i: J
scatter(points_x,points_y,'r*') % 将这四个随机点, 在圆上用红色的星号标记出来
# R' M7 u( o; e3 v" x) s
text(points_x,points_y,{'A','B','C','D'}) % 在四个随机点的旁边, 显示 A B C D 字符
+ i% ^8 O% k- @1 ]. X
1 r1 j7 z" V8 Q$ m0 O3 r1 X* B( w
A=[points_x(1),points_y(1)]; % A 点的横坐标值和纵坐标值
) U' |( j/ b0 S$ ]8 A# M
B=[points_x(2),points_y(2)]; % B 点的横坐标值和纵坐标值
, `6 o5 v8 j" S: x9 k1 }$ G
C=[points_x(3),points_y(3)]; % C 点的横坐标值和纵坐标值
' _# }0 u2 F$ p5 l+ w1 `0 N4 Y5 [
D=[points_x(4),points_y(4)]; % D 点的横坐标值和纵坐标值
" |) D6 [$ j6 v+ N
`7 p. u; n& B' w' T1 E
%% 绘制四个随机点, 两两之间的线段
9 ~9 m' Z+ b3 R" ?
plot([A(1) B(1)],[A(2) B(2)],'r--') % 绘制线段 AB
7 e8 P. X; g3 T
plot([A(1) C(1)],[A(2) C(2)],'r--') % 绘制线段 AC
- s B1 ?# V, l2 j: n$ a2 L
plot([A(1) D(1)],[A(2) D(2)],'r--') % 绘制线段 AD
( Y: q5 ?' w( r# C6 ]8 J; K# z
plot([B(1) C(1)],[B(2) C(2)],'r--') % 绘制线段 BC
" }0 U5 C' h1 Y5 c6 E) \
plot([B(1) D(1)],[B(2) D(2)],'r--') % 绘制线段 BD
* x( B- M( y3 `& s# @
plot([C(1) D(1)],[C(2) D(2)],'r--') % 绘制线段 CD
作者:
relchhiclty
时间:
2020-3-16 18:43
MATLAB实现自定义的牛顿插值。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2