用matlab随机生成20个点的坐标,然后计算他们之间的距离,代码该怎么写

作者&投稿:当涂初 (若有异议请与网页底部的电邮联系)
用matlab在平面上 随机产生几个点(用坐标表示)怎么编程?~

基本思想:
随机产生x的坐标(向量形式)
随机产生y的坐标(向量形式)
在一平面上使用plot函数画出这些点
例子:在0到1的平面内随机产生10个点,并画出来
x=rand(1,10)y=rand(1,10)plot(x,y,'*')

思路就是,先生成一个随机的在1*1内的点,然后生成一个随机方向,走0.05看是否在1*1范围内,若在加到结果,不在舍弃,直到取尽100个点。
% set rand seedctime = datestr(now,30);tseed = str2num(ctime((end - 5):end));rand('seed',tseed);% rand a point for first stepsx = rand;sy = rand;s = [sx sy 1];% initial constN = 100;t = 1;while t ~= N % rand direction dir = rand*2*pi; % test the new position tx = sin(dir)*0.05 + sx; ty = sin(dir)*0.05 + sy; % count the proper point if(tx 0 && ty > 0 && ty < 1) t = t+1; s = [s;tx ty t] sx = tx; sy = ty; endend
上图某次得到的点在坐标轴分布,额,0.05跟起始点关系很大,100*0.05=5,连续一个方向跳100次都没有超出界限很大,即结果很难覆盖到整个0-1的区间。

第一列是x,第二列是y,第三列是第多少个。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
int x[10];
int y[10];
float s[10];
int i,j,pos=0;
for(i=0;i<10;i++)
{
fflush(stdin);
scanf("%d,%d",&x[i],&y[i]);
s[i]=sqrt(x[i]*x[i]+y[i]*y[i]);
}
for(i=0;i<10-1;i++)
{
for(j=0;j<10-i-1;j++)
{
if(s[j]>s[j+1])
{
float ft;
int it;
ft=s[j];
s[j]=s[j+1];
s[j+1]=ft;
it=x[j];
x[j]=x[j+1];
x[j+1]=it;
it=y[j];
y[j]=y[j+1];
y[j+1]=it;
}
}
}
for(i=0;i<10;i++)
{
printf("\n%d,%d %f",x[i],y[i],s[i]);
}


如何用matlaB产生一个随机二进制序列
方法和详细的操作步骤如下:1、第一步,在计算机桌面上,双击MATLAB桌面图标以进入MATLAB工作界面,见下图,转到下面的步骤。2、第二步, 执行完上面的操作之后,dec2bin():从十进制转换为二进制,调用格式:b = dec2bin(a)。 其中b是二进制,a是十进制,见下图,转到下面的步骤。3、第三步...

matlab:随机生成一个20行10列的整形矩阵,分别求每行的和和每列的和...
用随机生成一个20行10列的整形矩阵,分别求每行的和和每列的和,可以这样来循环求得。即 A是20行10列的矩阵。求每行的和 for i=1:m s=0;for j=1:n s=s+A(i,j);end s end 求每列的和 for i=1:n s=0;for j=1:m s=s+A(j,i);end s end ...

matlab在20*20的区域里随机产生三个点,并以这三个点为顶点构成三角形...
基本解决了你的问题。思路是这样的 首先生成3*2个0~20的随机数,以此为坐标建立三角形(这里假设三个随机点共线的概率是0),然后随机生成要求节点P在该三角形中的面积坐标,最后通过求解方程组,求解节点P坐标。代码如下,其中x0,y0为要求解的P点坐标 close all xy=20*rand(3,2);xy(4,:)=...

用matlab怎样随机产生5个数据(1,2,3,4,5),急用跪求,谢谢网友朋友们_百 ...
rand(1,5)即可生成5个随机数,其元素在(0,1)内;randperm(5)可创建正整数1,2,3,4,5的随机排列。

在MATLAB软件中随机生成一个矩阵A和矩阵B
A=rand(3) %A是3x3的随机矩阵 B=rand(3,1); %B是3x1的随机矩阵 A*B C=B.^2 sin(B)det(A)if det(A)~=0 inv(A)end A\\B D=A;D(2,:)=D(2,:)+1

matlab如何随机产生一个正交矩阵,且第一列是取定的元素
这个不难,正交矩阵A,有A'(A的转置)=A^-1(A的逆),等价条件是A的各列是单位向量且两两正交.已知第一列的元素都是1\/2,这个矩阵是不可能成为正交矩阵的...假设第一列的元素是一样的,那么随机产生5个长为6的列向量,根据Gram-Schmidt算法计算对应的正交单位向量 (这个算法很简单),如果产生的单位...

matlab生成均匀分布的随机数有哪些方法?
1、如果我们想生成一个3*3的均匀分布的矩阵,只需要如下命令:rand(3,3) 或者 rand(3)。2、如果需要获得(a,b)的随机数,我们可以利用(0,1)的均匀随机数来生成(a,b)的均匀随机数。a + (b-a).*rand(m,n) 。这里(a,b) 是你生成随机数的端点,m,n代表矩阵的行和列。3、生成均匀...

matlab怎么生成正态分布随机数
有时候我们在使用matlab进行数学运算的时候,想生成正态分布随机数,怎么生成呢,下面来分享一下方法 第一步我们首先需要知道matlab中可以使用randn函数生成正态分布随机数,在命令行窗口中输入“help randn”,可以看到randn函数的使用方法,如下图所示:第二步输入randn(5),生成一个均值为0,方差和标准差...

matlab如何产生二维正态分布随机数
2、第二步,完成上述步骤后,将某些数据规则(例如距离范围等)分组,即将相似的数据记录分组为一类,并记录该组的频率(数量),见下图,转到下面的步骤。3、第三步,完成上述步骤后,数据准备好,绘制一个直方图,简单的Matlab代码和直方图见下图,转到下面的步骤。4、第四步,完成上述步骤后,从绘制的...

matlab怎么产生随机数据,有谁知道
MATLAB 函数 rand产生在区间 (0, 1)的均匀随机数,它是平均分布在 (0,1)之间。一个称为seed的值则是用来控制产生随机数的次数。均匀随机数函数的语法为rand(n),rand(m,n),其结果分别产生一矩阵含n×n个随机数和一矩阵含m×n的随机数。注意每次产生随机数的值都不会一样,这些值代表的是...

秀城区13864102901: matlab中怎么产生二十个随机分布的点 -
牧便怡宝: >> binornd(10,0.5,1,20) ans =Columns 1 through 135 8 4 4 4 5 5 6 6 5 4 6 2Columns 14 through 207 5 7 3 6 2 6

秀城区13864102901: 您好,请问:怎样用Matlab生成在一定地理纬度范围内的20组二维坐标 -
牧便怡宝: 使用rand命令即可.命令如下:1 x = 20*rand(33,2); 下面这个命令是画出来散点图:1 plot(x(:,1),x(:,2),'.'); 如果想要知道rand的具体用法,使用下面的命令:1 doc rand

秀城区13864102901: 如何用matlab生成一个随机的三维坐标 -
牧便怡宝: 付费内容限时免费查看回答您好,我正在查询相关的信息,马上回复您!您好,很荣幸帮您解答--1、首先打开matla软件,准备好要做三维图的数据,有XYZ和属性数据.2、根据数据分布确定各点之间的间隔,并使用griddata命令将属性...

秀城区13864102901: 利用matlab怎么编程,可以在二位坐标图中随机产生一群点,也就是一组坐标,有约束范围的. -
牧便怡宝: 1. 分别对X和Y在最大的那个矩形范围内产生两个随机数(一个坐标点)2. 然后在判断这个随机数的XY坐标是不是在你的狭长巷道中,如果是的话,保留该随机数,不是的话抛弃.3. 写一个循环,直到你找到了20个符合要求的随机坐标点为止.这是最简单的方法.

秀城区13864102901: 如何利用MATLAB产生随机坐标? -
牧便怡宝: clear; clc; a = 10; %%%%% 长 b = 5; %%%%% 宽 n = 100; %%%%% 点数量 cxd1 = a*rand(n,1); %%%%%% 产生横坐标 cxd2 = b*rand(n,1); %%%%%% 产生纵坐标 cxd = [cxd1 cxd2]; %%%%%% 生产随机点 figure(1) plot(cxd1,cxd2,'o') %%%%%% 绘图,从图可以大致看出随机分布 figure(2) hist(cxd1) %%%%%% 验证横坐标随机分布 figure(3) hist(cxd2) %%%%%% 验证纵坐标随机分布

秀城区13864102901: Matlab生成定区域内指定数目随机坐标点 -
牧便怡宝: b=zeros(100,100);%定义一个全0矩阵%下面寻找50个随机位置,分别标号为1到50 c=randperm(10000);%将10000个数据随机打乱 idx=find(cb(idx)=c(idx);%将1到50赋值给全0矩阵%经测试最大值是50,而且随机分布,有值的地方是节点位置,1到50分别是节点标号

秀城区13864102901: 如何用matlab生成二维随机数(正方形内点坐标)? -
牧便怡宝: clear;clc; a=5;n=100;%自己改 p=unifrnd(0,a,n,2);%n个长a的正方形中的随机点的坐标,均匀分布 plot(p(:,1),p(:,2),'.')

秀城区13864102901: MatLab三维生成随机坐标 -
牧便怡宝: 设你想产生n个坐标,x = rand(1,n)*100+350; y = rand(1,n)*20+140 z = rand(1,n)*10 enjoy it

秀城区13864102901: matlab里面怎么用随机模型模拟一组点的坐标值?请高手相助 -
牧便怡宝: 先随机产生x,在随机产生y,对应点组合(x,y)作为坐标. 随机函数很多的,最常用的就是rand

秀城区13864102901: 求大神指教matlab如何输出随机点的坐标 -
牧便怡宝: 你这不都画出来了吗,输出不是很简单么,disp(A) disp(B) disp(C)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网