精华内容
下载资源
问答
  • 前言我是遥感专业,专职遥感图像处理 ,我们知道遥感影像就是一个个数组,或者说矩阵,所以说对影像操作就是对数组操作,所以学习数组的用法极为重要。我们知道C++中的return只能返回一个数值,而不能返回一个数组,...

    前言

    我是遥感专业,专职遥感图像处理

    1a22182a26b1541eb43cd96d23bdf473.gif ,我们知道遥感影像就是一个个数组,或者说矩阵,所以说对影像操作就是对数组操作,所以学习数组的用法极为重要。我们知道C++中的return只能返回一个数值,而不能返回一个数组,我这个程序主要就是通过指针,来实现返回数组(实际上返回的是指针)。

    代码

    /*

    作者:山科_xxin

    时间:2017-03-14 23:27:40

    功能:生成一个自定义行列号的数组,返回数组,遍历数组

    类别:C++练习

    */

    #include

    #include

    #include

    using namespace std;

    int **random(int n,int m)

    {

    int t;

    int **data;

    t = time(0);

    srand(t);

    data=(int **)malloc(n*sizeof(int *));

    for (int i=0;i

    data[i]=(int *)malloc(2*sizeof(int));

    for(int i = 0;i

    {

    for(int j = 0;j

    {

    data[i][j] = rand()%10;

    }

    }

    return data;

    }

    int visit(int **data,int n,int m)

    {

    for(int i = 0;i

    {

    for(int j = 0;j

    cout<

    cout<

    }

    return 0;

    }

    int main()

    {

    int n,m;

    cout<

    cin>>n;

    cin>>m;

    int **data = random(n,m);

    visit(data,n,m);

    free(data);

    system("pause");

    return 0;

    }

    结果:

    f6fe471ec1179f4ee021a9cc2be98f86.png

    后语

    本人博客几乎把所有免费的光学影像处理了一遍,包括但不限于高分一号、四号;环境小卫星;landsat系列;哨兵2;MODIS数据,接下来将主攻编程,C++主线,Python、IDL(ENVI二次开发)、Matlab。爱拼才会赢,愿明天更美好!!!

    xxin blog , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C++生成一个随机二维数组并作为参数返回!

    展开全文
  • matlab二维插值--interp2与griddatafrom:matlab功能强大,以至于不知道他不能做什么,只是怨自己没有找到相应的函数。二者均是常用的二维差值方法,两者的区别是,interp2的插值数据必须是矩形域,即已知数据点(x,y)...

    matlab二维插值--interp2与griddata

    from:

    matlab功能强大,以至于不知道他不能做什么,只是怨自己没有找到相应的函数。

    二者均是常用的二维差值方法,两者的区别是,interp2的插值数据必须是矩形域,即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成。而griddata函数的已知数据点(X,Y)不要求规则排列,特别是对试验中随机没有规律采取的数据进行插值具有很好的效果。griddata(X,Y,XI,YI,'v4') v4是一种插值算法,没有具体的名字,原文称为“MATLAB 4 griddata method”,是一种很圆滑的差值算法,效果很好。X和Y提供的已知数据点,XI和YI是需要插值的数据点,一般使用meshgrid生成,当然也可以其他数据,但是那样绘图的时候就比较麻烦,不能使用mesh等,只能使用trimesh。

    示例如下:

    a=[

    3 3 1.5300

    3 27 0.4210

    5 17 0.5980

    9 9 0.5900

    13 25 0.4470

    15 15 1

    17 5 0.3830

    21 21 0.3100

    25 13 0.2830

    27 3 0.2820

    27 27 0.1200

    ];

    x=a(:,1);

    y=a(:,2);

    z=a(:,3);

    xtemp=linspace(min(x),max(x),100);

    ytemp=linspace(min(y),max(y),100);

    [X,Y]=meshgrid(xtemp,ytemp);

    Z=griddata(x,y,z,X,Y,'v4');

    surf(X,Y,Z)

    shading interp

    展开全文
  • 数值分析Matlab二维正态(高斯)分布以及协方差矩阵主要是使用了matlab的mvnrnd产生随机的正态(高斯)分布二维矩阵,然后绘制出来。代码运行结果生成的正态分布实验数据如图:MATLAB代码:mu1 = [0 0]; sigma1 = [4 2...
    数值分析Matlab二维正态(高斯)分布以及协方差矩阵


    主要是使用了matlab的mvnrnd产生随机的正态(高斯)分布二维矩阵,然后绘制出来。代码运行结果生成的正态分布实验数据如图:




    MATLAB代码:
    mu1 = [0 0];
    sigma1 = [4 2 ; 2 4];
    r1 = mvnrnd(mu1,sigma1,100);
    scatter(r1(:,1),r1(:,2),'r.');
    hold on;
    
    mu2 = [0 0];
    sigma2 = [8 2 ; 2 8];
    r2 = mvnrnd(mu2,sigma2,100);
    plot(r2(:,1),r2(:,2),'bv')

    代码中的sigma即为协方差矩阵。mu期望均值。围绕mu产生正态分布的数据。mvnrnd使用到了协方差矩阵。

    关于协方差矩阵

    样本数据矩阵的每行是一个样本,每一列是一个维度。一个样本可以有多维。如果协方差值为正,样本数据在不同维度同向。值越大,说明样本在不同维度的数值同向程度越高。越小,同向程度越低。
    如果协方差为负值,说明样本数据在不同维度反向。其值越小,反向程度越大;其值越大,反向程度越小。
    比如x,y,z代表了3 X 3的样本矩阵。其中每一列代表一个维度。那么协方差矩阵为:





    显然,协方差矩阵上,从左上角到右下角连接的对角线上的点是所在列的方差,其非对角线列上的点是相应列上的数据散点的协方差,且具有对称相等特性:


    展开全文
  • 本篇文章主要讲解在matlab环境下,如何随机生成满足高斯分布的样本点。...1.二维空间二分类问题%%参数设置mean = [2 3]; %%均值SIGMA = [1 0;0 2]; %%协方差矩阵,假设各维度独立,故可设为对角阵r = mvn...

    本篇文章主要讲解在matlab环境下,如何随机生成满足高斯分布的样本点。

    众所周知,高斯分布是一种很常见的数据分布,也是很多实际例子中出现最多的一种分布。我们今天就来学习在matlab环境下绘制出随机分布的满足高斯分布的数据点。

    1.二维空间二分类问题

    %%参数设置

    mean = [2 3]; %%均值

    SIGMA = [1 0;0 2]; %%协方差矩阵,假设各维度独立,故可设为对角阵

    r = mvnrnd(mean,SIGMA,100); %%最后一个参数表示生成该类100个样本点

    plot(r(:,1),r(:,2),'r+');

    grid on; %%描绘出网格

    hold on; %%停留在图中,

    mean = [4 2];

    SIGMA = [1 0;0 2];

    r2 = mvnrnd(mean,SIGMA,100);

    plot(r2(:,1),r2(:,2),'b*')

    grid on;

    运行结果:

    以上很多都是绘图的一些基本命令,最重要的是mvnrnd(mean,SIGMA,100)这个函数,第一个参数表示随机生成的样本点的均值,第二个参数表示这些样本点的协方差矩阵,我们可以假设各维度相互独立,也就是设为对角阵(只有主对角线上的元素不为0),第三个参数100表示生成100个样本点。plot就是绘制图像的函数,前两个参数分别对应的是样本点的第一维和第二维的值,而第三个参数表示'r+',用红色的+标记。那么我们可用的颜色和标记符号有哪些呢? 请参照下面这张图就好了。

    2.二维空间三分类问题

    mean = [2 3]; %%均值

    SIGMA = [1 0;0 2]; %%协方差矩阵,假设各维度独立,故可设为对角阵

    r = mvnrnd(mean,SIGMA,100); %%最后一个参数表示生成该类10个样本点

    plot(r(:,1),r(:,2),'r+');

    grid on; %%描绘出网格

    hold on; %%停留在图中,

    mean = [7 8];

    SIGMA = [1 0;0 2];

    r2 = mvnrnd(mean,SIGMA,100);

    plot(r2(:,1),r2(:,2),'b*')

    grid on;

    hold on;

    mean = [4 6]

    SIGMA = [1 0;0 4];

    r3 = mvnrnd(mean,SIGMA,100);

    plot(r3(:,1),r3(:,2),'gs')

    运行结果:

    3.三维三分类问题

    mean = [2 3 4]; %%均值

    SIGMA = [1 0 0;0 2 0;0 0 3] %%协方差矩阵,假设各维度独立,故可设为对角阵

    r = mvnrnd(mean,SIGMA,10); %%最后一个参数表示生成该类10个样本点

    plot3(r(:,1),r(:,2),r(:,3),'r+');

    grid on; %%描绘出网格

    hold on; %%停留在图中,

    mean = [7 8 9];

    SIGMA = [1 0 0;0 2 0;0 0 4];

    r2 = mvnrnd(mean,SIGMA,10);

    plot3(r2(:,1),r2(:,2),r2(:,3),'b*')

    grid on;

    hold on;

    mean = [4 8 13]

    SIGMA = [1 0 0;0 2 0;0 0 4];

    r3 = mvnrnd(mean,SIGMA,10);

    plot3(r3(:,1),r3(:,2),r3(:,3),'gs')

    结果:

    这里需要注意的是,绘制三维图像时,与二维平面图唯一的区别是plot函数,变成了plot3函数,参数的个数也增加了一维度。

    如有问题,欢迎私信和QQ交流~

    展开全文
  • matlab二维插值--interp2与griddata

    千次阅读 2012-05-11 16:10:46
    二者均是常用的二维差值方法,两者的区别是,interp2的插值数据必须是矩形域,即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成。而griddata函数的已知数据点(X,Y)不要求规则排列,特别是对...
  • 这部分承接Dijkstra算法的基础之上,先算出单源最短路径(绿线),之后把经过的每个虚线段分成1000份,它们的基准点分别是b1、b2等随机产生一系列1000的数字排列成1*6的矩阵代入模拟退火算法利用这些坐标计算出每个...
  • 这部分承接Dijkstra算法的基础之上,先算出单源最短路径(绿线),之后把经过的每个虚线段分成1000份,它们的基准点分别是b1、b2等随机产生一系列1000的数字排列成1*6的矩阵代入模拟退火算法利用这些坐标计算出每个...
  • 本篇文章主要讲解在matlab环境下,如何随机生成满足高斯分布的样本点。  众所周知,高斯分布是一种很常见的数据分布,也是...二维空间二分类问题 %%参数设置 mean = [2 3]; %%均值 SIGMA = [1 0;0 2]; %%协方差矩阵,
  • 首选随机用A=randn(2,2)+randn(2,2)*1i生成一个二维的复数矩阵, 执行后结果如下: A = 3.5784 + 0.7254i -1.3499 + 0.7147i 2.7694 - 0.0631i 3.0349 - 0.2050i 执行:A' 得到如下 >> A' ans = 3....
  • MATLAB矩阵压缩函数squeeze

    千次阅读 2016-09-08 20:08:40
    matlab中squeeze函数用于删除矩阵中的数为1的(只适用于数大于2的矩阵l,),比如执行下面的代码,随机产生一个1x2x3的矩阵A,然后squeeze(A)将返回一个2x3的矩阵,将第一却掉(因为第一位大小为1): ...
  • 计算机仿真技术-Matlab应用复习大纲1、 产生一个5行6列且在(0,1)之间均匀分布的随机矩阵A,其命令为______________; 2、 将一个5行6列的A矩阵中的第3列所有元素提取出来赋值给B,其命令为___________; 3、 将一个5...
  • matlab矩阵拼接

    千次阅读 2019-08-26 22:26:13
    %随机生成三维矩阵 现在要在矩阵A增加一行,假设增加矩阵B B=[1 2 3]; 方法有三种 方法一 A=[A;B]; 方法 A = cat(1, A, B) 现在要在矩阵A增加一列,假设增加矩阵C C=[1;2;3]; A=[A,C]; ...
  •  (2)eye() -- 单位矩阵,不支持二维以上的矩阵生成  (3)rand() -- 随机矩阵,只用于生成0~1的平均分布的随机数,不包括0和1  (4)compan() -- 伴随矩阵,只适用于向量  (5)magic()...
  • 用分号分成不同行函数构造:可以构造的特殊矩阵有:n*n单位/0/1矩阵,多维单位/0/1矩阵(即多维数组),与已知相同大小的单位/0/1矩阵,(单位矩阵最多构造二维),行列之和相等的方阵,均匀随机数/正态分布随机数方阵...
  • matlab练习 基本绘图

    2020-12-19 19:08:14
    1、创建一个 4*5 的随机矩阵,提取第一行和第行中大于 0.3 的元素组成矩阵。 2、设 ,把X=0~2π 区间分为 125 点,画出以x为横坐标,y为中坐标的曲线。 3、设 ,要求在 区间内画出x,y,z 三曲线。 4、设 ,求定义域 内...
  • 复杂网络实验1:ER随机图(matlab

    千次阅读 2019-03-28 14:29:29
    2.创建点位置二维矩阵 3.生成圆形的形状,把圆形分成N份,给点赋值 4.每个点之间以一定概率形成边 二.版本2(有邻接矩阵) 鉴于一些朋友需要有邻接矩阵的版本,后面再添加有邻接矩阵的版本 由于我这里不需要...
  • 二维插值

    万次阅读 2017-08-30 20:45:22
    二者均是常用的二维差值方法,两者的区别是,interp2的插值数据必须是矩形域,即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成。而griddata函数的已知数据点(X,Y)不要求规则排列,特别是对...
  • % 生成网格点,然后转换为二维数组 mesh_point_numer = 10 left = -1; rigth = 1; mesh_step = 2.0/mesh_point_numer; x = -1:mesh_step:1; y = -1:mesh_step:1; % 生成不带便捷的网格点 [meshX,meshY] = meshgrid...
  • MATLAB教程

    2015-04-15 09:58:51
    四、 读取二维灰度图像 28 第 2 节 三维图形 28 一、 三维曲线、面填色命令 28 二、 7.2.2 三维图形等高线 29 三、 7.2.3 曲面与网格图命令 31 四、 7.2.4 三维数据的其他表现形式命令 35 第 3 节 通用图形函数命令 ...
  • 莱斯分布(Rice distribution或...瑞利分布(Rayleigh Distribution):当一个随机二维向量的两个分量呈独立的、有着相同的方差的正态分布时,这个向量的模呈瑞利分布。【来自百度】 如图是一个MI...
  • 最近学习C++,做了一个矩阵乘法的练习。...并且把输入的数字提取出来,放入一个float型数组中,这样我们就完成了读入工作,之后就是利用乘法公式进行运算,并把结果放入一个二维数组中,最后把结果输...
  • 浅谈协方差矩阵

    2021-04-14 20:13:50
    前面提到的猥琐和受欢迎的问题是典型的二维问题,而协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差, 必须要明确一点,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。以下的演示...
  • 四、 读取二维灰度图像 28 第 2 节 三维图形 28 一、 三维曲线、面填色命令 28 二、 7.2.2 三维图形等高线 29 三、 7.2.3 曲面与网格图命令 31 四、 7.2.4 三维数据的其他表现形式命令 35 第 3 节 ...
  • %产生x行y列随机正态矩阵,当样本为二维点时,可以让y为2即产生二维随机正态分布变量,作图显示点集 randn(x,y); 产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。...
  • 最近学习C++,做了一个矩阵乘法的练习。...并且把输入的数字提取出来,放入一个float型数组中,这样我们就完成了读入工作,之后就是利用乘法公式进行运算,并把结果放入一个二维数组中,最后把结果输...
  • 13.3.2 二维小波变换的图像压缩 13.3.3 图像压缩中阈值的确定与作用命令 13.3.4 基于小波包变换的图像压缩 13.3.5 小波变换用于图像去噪 13.3.6 小波分析用于图像增强 13.3.7 图像钝化与锐化 13.3.8 ...
  • C++实现矩阵乘法

    万次阅读 多人点赞 2019-02-16 16:23:17
    最近学习C++,做了一个矩阵乘法的练习。先说一下功能,输入两个...并且把输入的数字提取出来,放入一个float型数组中,这样我们就完成了读入工作,之后就是利用乘法公式进行运算,并把结果放入一个二维数组中,最后...

空空如也

空空如也

1 2 3 4
收藏数 68
精华内容 27
关键字:

matlab二维随机矩阵

matlab 订阅