MATLAB数据类型

2024-01-03 17:44:23

MATLAB数据类型

MATLAB的数据是从1开始,而非常见的0。

%% 注释

clear all %清除Workspace中的所有变量

clc  %清除Command Window中的所有命令

数字

字符与字符串

abs(a)   % 输出a的ACSII码
num2str (65)  % 输出输出65的ACSII码数字
length(str)  % 计算机str字符串的长度

矩阵

A=[1 2 3;4 5 2; 3 2 7]
B=A'  %矩阵的转置,行列互换
C=A:  %竖着对矩阵拉伸
D=inv(A)  %矩阵的逆,必须是方阵
A*D  %相乘


E=zeros(10,5,3)  %10行  5列 3个维度的矩阵
E(:,:,1)=rand(10,5)
E(:,:,2)=randi(5,10,5)
E(:,:,3)=randn(10,5)

rand、randi和randn的区别?

  1. rand 生成均匀分布的伪随机数。分布在(0~1)之间

    主要语法:

rand(m,n)  %生成m行n列的均匀分布的伪随机数

rand(m,n,'double')  %生成指定精度的均匀分布的伪随机数,参数还可以是'single'

rand(RandStream,m,n)  %利用指定的RandStream(我理解为随机种子)生成伪随机数
  1. randn生成标准正态分布的伪随机数(均值为0,方差为1)

    主要语法∶和上面一样

  2. randi生成均匀分布的伪随机整数
    主要语法:

randi (iMax)  %在开区间(0,iMax)生成均匀分布的伪随机整数

randi (iMae,m, n)   %在开区间(0, iMax)生成mXn型随机矩阵

r = randi([iMin,iMax],m,n)  %在开区间(iMin,iMax)生成m行n列随机矩阵

元胞数组

? 元胞数组是MATLAB中特有的一种数据类型,是数组的一种,其内部元素可以是属于不同的数据类型,概念理解上,可以认为它和c语言里面的结构体、C++里面的对象很类似。元胞数组是matlab中的特色数据类型,它不同于其它数据类型(如字符型,字符数组或者叫字符串,以及一般的算术数据和数组)。它特有的存取数据方法决定了它的特点,它有给人一种查询信息的感觉,可以逐渐追踪一直到所有的变量全部翻译成基本的数据信息。它的class函数输出就是cell(细胞之意)。

A = cell (1,6)  %生成一个1行6列的一个元胞数组
A{2} = eye(3)  %3*3并且对角线数值为1的单位矩阵
A{5} = magic(5) %生成的矩阵无论横、竖还是斜三个方向上的三个数的和总是相同的

image-20240103143500921

image-20240103143732016

magic:

? magic字面意思是魔方.魔术的意思。在matlab中用来生成n阶幻方。比如三阶幻方就是1-9九个数字,组成一个3*3的矩阵使得该矩阵无论横、竖还是斜三个方向上的三个数的和总是相同的。幻方是一个很古老的问题你试一下就知道了!

? magic(n)生成一个n阶幻方,就是把1-nA2排成一个nxn的矩阵,使得矩阵的每行、每列,以及主、副对角线上面的n个数之和都相等(容易证明,这个和等于n*(n^2+1)/2)。

结构体

books = struct('name', {{'Machine Learning', ' Data Mining'}}, 'price' , [30 40])
books. name  %选择name属性
books. name(1)  %选择对象为cell
books. name{1}  %选择对象为具体值

image-20240103144557694

文章来源:https://blog.csdn.net/m0_63144319/article/details/135368515
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。