matlab用向量生成矩阵(matlab矩阵列向量)

1、向量的创建1)直接输入:行向量:a=[1,2,3,4,5]列向量:a=[1;2;3;4;5]  2)用“:”生成向量a=J:K生成的行向量是a=[J,J+1,…,

大家好,又见面了,我是你们的朋友全栈君。原文地址为:
matlab中矩阵和向量的创建

 

1、向量创建

 

1)直接输入:

行向量:a=[1,2,3,4,5]

列向量:a=[1;2;3;4;5]

  

2)用“:”生成向量

  a=J:K 生成的行向量是a=[J,J+1,…,K]

a=J:D:K 生成行向量a=[J,J+D,…,J+m*D],m=fix((K-J)/D)

  

3)函数linspace 用来生成数据按等差形式排列的行向量

  x=linspace(X1,X2):在X1和X2间生成100个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。

x=linspace(X1,X2,n): 在X1和X2间生成n个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。

  

4)函数logspace用来生成等比形式排列的行向量

  X=logspace(x1,x2) 在x1和x2之间生成50个对数等分数据的行向量。构成等比数列,数列的第一项x(1)=10x1,x(50)=10x2

X=logspace(x1,x2,n) 在x1和x2之间生成n个对数等分数据的行向量。构成等比数列,数列的第一项x(1)=10x1,x(n)=10x2

注:向量的的转置:x=(0,5)’

  

 

2、矩阵的创建

 

1)直接输入:

将数据括在[]中,同一行的元素用空格或逗号隔开,每一行可以用回车或是分号结束。

如:a=[1,2,3;3,4,5],运行后:

a =

1 2 3

3 4 5

  

 

2)函数eye,生成单位矩阵

eye(n) :生成n*n阶单位E

eye(m,n):生成m*n的矩阵E,对角线元素为1,其他为0

eye(size(A)):生成一个矩阵A大小相同的单位矩阵

eye(m,n,classname):对角线上生成的元素是1,数据类型用classname指定。其数据类型可以是:duoble、single、int8、uint8、int16、uint16、int32、uint32 。

  

      

3)函数ones  用ones生成全1的矩阵

ones(n) : 生成n*n的全1矩阵

ones(m,n) : 生成m*n的全1矩阵

ones(size(A)) : 生成与矩阵A大小相同的全1矩阵

ones(m,n,p,…)生成m*n*p*….的全1的多维矩阵

ones(m,n,…,classname)制定数据类型为classname

  

 

4)函数zeros 函数zeros生成全0矩阵

zeros(n):生成n*n的全0矩阵

zeros(m,n:)生成m*n的全0矩阵

zeros(size(A)): 生成与矩阵A大小相同的全0矩阵

zeros (m,n,p,…)生成m*n*p*….的全0的多维矩阵

zeros (m,n,…,classname)指定数据类型为classname

  

 

5)函数rand 函数rand用来生成[0,1]之间均匀分布的随机函数,其调用格式是:

Y=rand:生成一个随机数

Y=rand(n):生成n*n的随机矩阵

Y=rand(m,n):生成m*n的随机矩阵

Y=rand(size(A)):生成与矩阵A大小相同的随机矩阵

Y=rand(m,n,p,…):生成m*n*p*…的随机数多维数组

  

 

6)函数randn 函数rand用来生成服从正态分布的随机函数,其调用格式是:

Y=randn:生成一个服从标准正态分布的随机数

Y=randn(n):生成n*n的服从标准正态分布的随机矩阵

Y=randn(m,n):生成m*n的服从标准正态分布的随机矩阵

Y=randn(size(A)):生成与矩阵A大小相同的服从标准正态分布的随机矩阵

Y=randn(m,n,p,…):生成m*n*p*…的服从标准正态分布的随机数多维数组

  

 

3、矩阵元素的提取与替换

 

1)  单个元素的提取

如:a=[1,2,3;3,4,5],运行后:

a =

1 2 3

3 4 5

输入b=a(1,2)

b =

2

  

  

 

2)  提取矩阵中某一行的元素,

如:a=[1,2,3;3,4,5],运行后:

a =

1 2 3

3 4 5

输入b=a(1,:)

b =

1 2 3

  

 

3)  提取矩阵中某一列:

如:a=[1,2,3;3,4,5],运行后:

a =

1 2 3

3 4 5

输入b=a(:,1)

b =

1

3

  

 

4)  提取矩阵中的多行元素

如:a=[1,2,3;3,4,5],运行后:

a =

1 2 3

3 4 5

输入b=a([1,2],:)

b =

1 2 3

3 4 5

  

 

5)  提取矩阵中的多列元素

如:a=[1,2,3;3,4,5],运行后:

a =

1 2 3

3 4 5

输入b=a(:,[1,3])

b =

1 3

3 5

  

 

6)  提取矩阵中多行多列交叉点上的元素

如:a=[1,2,3;3,4,5],运行后:

a =

1 2 3

3 4 5

输入b=a([1,2],[1,3])

b =

1 3

3 5

  

 

7)  单个元素的替换:

如:a=[1,2,3;3,4,5],运行后:

a =

1 2 3

3 4 5

输入:a(2,3)=-1

a =

1 2 3

3 4 -1

  

 

4、矩阵元素的重排和复制排列

 

1)  矩阵元素的重排

B=reshape(A,m,n):返回的是一个m*n矩阵B,矩阵B的元素就是矩阵A的元素,若矩阵A的元素不是m*n个则提示错误。

B=reshape(A,m,n,p):返回的是一个多维的数组B,数组B中的元素个数和矩阵A中的元素个数相等

B=reshape(A,…,[],…):可以默认其中的一个维数

B=reshape(A,siz) : 由向量siz指定数组B的维数,要求siz的各元素之积等于矩阵A的元素个数

  

 

2)  矩阵的复制排列  函数是repmat

B=repmat(A,n):返回B是一个n*n块大小的矩阵,每一块矩阵都是A

B=repmat(A,m,n):返回值是由m*n个块组成的大矩阵,每一个块都是矩阵A。

B=repmat(A,[m,n,p,…]):返回值B是一个多维数组形式的块,每一个块都是矩阵A


  

5、矩阵的翻转和旋转

 

1)矩阵的左右翻转 左右翻转函数是fliplr,调用格式:

B=fliplr(A):将矩阵A左右翻转成矩阵B。

输入:A=[1,2,3;3,4,2]

A =

1 2 3

3 4 2

输入:B=fliplr(A)

B =

3 2 1

  2 4 3

  

 

2)矩阵上下翻转 函数:flipud,调用格式:

B=flipud(A):把矩阵A上下翻转成矩阵B

  

 

3)多维数组翻转 函数:flipdim,调用格式:

B=flipdim(A,dim):把矩阵或多维数组A沿指定维数翻转成B

  

4)  矩阵的旋转  函数:rot90,调用格式:

B=rot90(A):矩阵B是矩阵A沿逆时针方向旋转90。得到的

B=rot90(A,k):矩阵B是矩阵A沿逆时针方向旋转k*90。得到的(要想顺时针旋转,k取-1)

  

6、矩阵的生成与提取函数

 

1)  对角线函数 对角线函数diag既可以用来生成矩阵,又可以来提取矩阵的对角线元素,其调用格式:

a)         A=diag(v,k):当v是有n个元素的向量,返回矩阵A是行列数为n+|k|的方阵。向量v的元素位于A的第k条对角线上。K=0 对应主对角线,k>0对应主对角线以上,k<0对应主对角线以下。

b) A=diag(v):将向量v的元素放在方阵A的主对角线上,等同于A=diag(v,k)中k=0的情况。

c) v=diag(A,k):提取矩阵A的第k条对角线上的元素于列向量v中。

d) v=diag(A):提取矩阵A的主对角线元素于v中,这种调用等同于v=diag(A,k)中k=0的情况。

  

2)  下三角阵的提取  用函数tril,调用格式:

a)         L=tril(A): 提取矩阵A的下三角部分

b) L=tril(A,k):提取矩阵A的第k条对角线以下部分。K=0 对应主对角线,k>0对应主对角线以上,k<0对应主对角线以下。

3) 上三角阵的提取 函数triu,调用格式:

a) U=triu(A): 提取矩阵A的上三角部分元素

b) U=triu(A,k): 提取矩阵A的第k条对角线以上的元素。K=0 对应主对角线,k>0对应主对角线以上,k<0对应主对角线以下。

  

 

 

转载请注明本文地址:
matlab中矩阵和向量的创建

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128344.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月16日 上午8:00
下一篇 2022年4月16日 上午8:00


相关推荐

  • 宽度学习系统(BLS)的原理、变体形式及当前应用(随时更新……)「建议收藏」

    宽度学习系统(BLS)的原理、变体形式及当前应用(随时更新……)「建议收藏」本文将综述宽度学习系统(BLS)和它的几种变体形式,以及它们在不同领域的几种具体应用(随时更新……)

    2022年5月11日
    36
  • 两个路由器的有线桥接与无线桥接

    两个路由器的有线桥接与无线桥接1 有线桥接 主路由器与副路由器 lan 口相连 主路由器可以正常使用 打开 DHCP 服务 电脑连接副路由器 进入管理页面 设置 lAN 口的 IP 地址手动设置为固定 ip 要求 必须是主路由器 DHCP 池中的任意一个 但是不能与其他连在主路由器中的设备相同 以 tplink 为例 修改后点击保存 待路由器自动重启后 电脑通过新修改的 LAN 口地址再次进入副路由器管理页面 关闭副路由器的 DHCP 服务 点击保存通过网线将主路由器和副路由器的任意两个 LAN 相连即可 此时设备连接副路由器便可上网 2 无线桥接 以 t

    2026年3月20日
    2
  • servlet-EL表达式与JSTL标签「建议收藏」

    servlet-EL表达式与JSTL标签「建议收藏」EL表达式EL表达式的作用:EL表达式主要是代替jsp页面中的表达式脚本在jsp页面中进行数据输出。因为EL表达式在输出数据的时候,要比jsp表达式脚本要简洁的多格式$(表达式)<%@ page import=”java.util.Map” %><%@ page import=”java.util.HashMap” %><%@ page contentType=”text/html;charset=UTF-8″ language=”java” %><h

    2022年8月8日
    8
  • Opencv调整运行窗口图片的大小

    Opencv调整运行窗口图片的大小Opencv 在运算时显示图片问题总结在 opencv 中 图片显示的问题 简要解决图片窗口和图片大小的问题 namedWindow 窗口名 1 创建窗口 imshow 窗口名 要显示的图片 在创建的窗口中显示图片官网中内容 默认情况下 是 1 自动调整窗口大小模式 如果在图片高清情况下 显示图片窗口很大 电脑屏幕放不下 并且窗口还不能通过

    2026年3月26日
    2
  • kinect深度距离误差_TOF相机深度矫正基于Kinect v2

    kinect深度距离误差_TOF相机深度矫正基于Kinect v2之前的文章《answer:深度相机(TOF)矫正》由于时间匆忙,临时想了一种深度相机深度像素矫正方法,即固定高度逐像素矫正。该方法简单粗暴,效果并不理想,最近查阅了相关文献资料,基于之前的思路整理出一种现场可用的简单易行的矫正方法。二维平面畸变矫正使用张氏标定法对二维平面进行径向畸变矫正。深度像素矫正做图像处理的难点在于图像包括图像的噪声随机性很大,即使在同一位置拍摄也没有完全一样的图像,所以所设…

    2022年5月25日
    39
  • Linux学习教程 Linux入门教程(超全面 超详细)收藏这一篇就够了

    Linux学习教程 Linux入门教程(超全面 超详细)收藏这一篇就够了Linux 是什么 linux 是一个开源 免费的操作系统 其稳定性 安全性 处理多并发能力已经得到业界的认可 目前大多数企业级应用甚至是集群项目都部署运行在 linux 操作系统之上 很多软件公司考虑到开发成本都首选 linux 在中国软件公司得到广泛的使用 Linux 主要的发行版本 Ubuntu 乌班图 RedHat 红帽 CentOS Debain 蝶变 Fedora SuSE OpenSUSE 红旗 Linux 国产 Linux 的目录结构 Linux 目录结构概述 Lin

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号