[MATLAB]基础知识(上)

一、数据类型 

%%矩阵
a = [1 2 3; 4 5 2;4 6 8]
b = a' %求转置
c =a(:) %竖着拉长
d = inv(a) %求逆矩阵

E = zeros(10,5,3) %(10行,5列,3个)元素均为0的矩阵
E(:,:,1) = rand(10,5) %为第一个矩阵赋值,rand(m,n)生成m行n列的均匀分布的伪随机数
E(:,:,2) = randn(10,5)
%randn(m,n)生成标准正态分布N(0,1)的伪随机数
E(:,:,3) = randi(5,10,5) 
%randi(iMAX,m,n)在开区间(o,iMAX)生成mxn的随机矩阵
% randi([iMIN,iMAX],m,n)在开区间(iMIN,iMAX)生成mxn随机矩阵

 

%%元胞数组
A = cell(1,6)
A{2} = eye(3)   %eye(n)生成n阶对角元素为1,其他元素为0的矩阵
A{5} = magic(5) %magic(n)生成n阶幻方(横竖数字之和相等)
%注意:matlab的编号从1开始,python从0开始
%ones(n)生成n阶全1矩阵
%%结构体
books = struct('name',{{'Machine Learning','Data science'}},'price',[30,48])
books.name %属性
books.name(1) %()取出来的是cell 'Machine Learning'
books.name{1} %{}取出来的是字符串Machine Learning

二、矩阵操作

%1.定义与构造
A1 = [1 2 3 5 8 5 4 6]
A2 = 1:3:9  %从1开始,每隔3取一个数(步长为3),到9截止
A3 = repmat(A2,3,4) %repmat(A,m,n)把A矩阵横着重复m次,竖着重复n次

%2.矩阵的四则运算
B1 = [1 2 3 4 ;5 6 7 8]
B2 = [1 1 2 2 ;2 2 1 1]
B3 = B1 + B2
B4 = B1 - B2
B5 = B1 * B2' %B1乘以B2的转置
B6 = B1 .* B2 %对应位置元素相乘
B7 = B1 / B2
B9 =B1 * pinv(B2)
% B1/B2 等于B1*B2的逆
%对方阵求逆用inv(),对其他矩阵求逆用pinv()
B8 = B1 ./ B2 %对应位置相除

%3.矩阵的下标
C1 = magic(5)
C2 = C1(2,3) %C(m,n)取第m行第n列元素
C3 = C1(3,:) %C(m,:)取第m行元素
C4 = C1(:,4) %C(:,n)取第n列元素
[m,n] = find(C1>20) 
%找到C1矩阵中大于20的元素位置输出其行列标号

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值