找回密码
 注册
关于网站域名变更的通知
查看: 439|回复: 1
打印 上一主题 下一主题

MATLAB源程序代码分享:MATLAB实现在圆上随机取四个点并绘制线段

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-16 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

) q. ?1 G! o! ?4 nMATLAB源程序代码分享:MATLAB实现在圆上随机取四个点并绘制线段
  d) _8 V* a$ H; C- f%% 根据圆的参数方程, 计算圆上点的坐标, 并绘制圆3 }2 h- q9 H2 i* i7 F8 r
clear;clc;close all
& P1 e$ Q6 P) @. a( D& T" ar=10;               % 定义圆的半径% U" C" A4 Q4 r2 g' b) l
theta=0:0.01:2*pi;  % 角度从 0 到 2*pi$ ]0 N3 O7 u: ]0 g, K) X
N=length(theta);    % 计算数据点的个数 N! H' c- t1 L7 b5 m- r$ A8 w0 b
x=r*cos(theta);     % 圆上点的横坐标 x( v) }4 n: y, t0 j2 r6 @8 I
y=r*sin(theta);     % 圆上点的纵坐标 y
: Z& K1 U$ i- M2 U" U# K# @0 q$ \& v2 V6 \- \4 h7 T
figure  x' q  K: t8 I! k3 r: N. g
set(gcf,'units','normalized','position',[0.2 0.2 0.6 0.6]);  % 设置 figure 窗口的位置和尺寸
& }( l" k8 M+ {plot(x,y)           % 绘制圆8 q. i9 e) [; m, F
hold on. p; a" o: O1 L3 p5 c4 @( C; ~
axis equal
' L1 f- J- i: J( m( k. `' N/ H' N+ z3 x* o! P- z% X2 K+ p
%% 在圆上随机取四个点, 并得到这四个随机点的坐标值. ^  E% R" h: d: X$ S0 U% B3 T
num=ceil(N*rand(4,1));    % 在 1~N 里随机取四个整数
8 T" `9 ^5 y: C! R1 j9 f- Unum=sort(num);            % 将这四个整数按照升序排列7 o; d( c* t8 z0 J) U! L
points_x=x(num);          % 圆上四个随机点的横坐标# a2 ?- L* F8 y4 ]  T& I  J
points_y=y(num);          % 圆上四个随机点的纵坐标
) G' s/ Y+ N3 b: n& ], F& ^7 Wscatter(points_x,points_y,'r*')              % 将这四个随机点, 在圆上用红色的星号标记出来- O" q  d8 T" h: r9 B6 u* l  F
text(points_x,points_y,{'A','B','C','D'})    % 在四个随机点的旁边, 显示 A B C D 字符
/ }; N$ I7 m5 H4 J0 Y$ s+ L1 U  R( e) Q6 M; r
A=[points_x(1),points_y(1)];  % A 点的横坐标值和纵坐标值$ y. Y7 U& `1 x1 ]. n6 _
B=[points_x(2),points_y(2)];  % B 点的横坐标值和纵坐标值
* b( f1 L! Z/ DC=[points_x(3),points_y(3)];  % C 点的横坐标值和纵坐标值! N2 Q& N. Y: I  `4 h# J
D=[points_x(4),points_y(4)];  % D 点的横坐标值和纵坐标值
' T4 |# |5 ?) g& ^8 c' F. G0 a7 c! B* p  S* x5 h
%% 绘制四个随机点, 两两之间的线段
8 U1 ~2 {; a! ]6 u- wplot([A(1) B(1)],[A(2) B(2)],'r--')    % 绘制线段 AB
; t  l5 O) r$ u- }* v9 e$ Cplot([A(1) C(1)],[A(2) C(2)],'r--')    % 绘制线段 AC2 g; d# v& d! W5 v. ?4 O
plot([A(1) D(1)],[A(2) D(2)],'r--')    % 绘制线段 AD
5 G" A) i6 d5 K( hplot([B(1) C(1)],[B(2) C(2)],'r--')    % 绘制线段 BC- l. \% k, {* N7 j- B! W. u% s' c
plot([B(1) D(1)],[B(2) D(2)],'r--')    % 绘制线段 BD
* c- a' l2 @0 f: X( N! c: yplot([C(1) D(1)],[C(2) D(2)],'r--')    % 绘制线段 CD

该用户从未签到

2#
发表于 2020-3-16 18:43 | 只看该作者
MATLAB实现自定义的牛顿插值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-21 08:22 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表