matlab速成学习

本篇博客主要介绍了MATLAB的基础知识和使用技巧,适用于初学者快速掌握MATLAB编程,包括基本语法、数学建模应用等内容。
摘要由CSDN通过智能技术生成

%-----------------------    第一部分:变量定义和基本运算     ------------------------------------------------------------------------------

% 生成矩阵
%---------------------------------------------------------------
% 直接法
a=[1,2,3;4,5,6;7,8,9];
%冒号一维矩阵 a= 开始:步长:结束 步长为1可省略
b=1:1:10 ;
b=1:10 ;%等价于上一个

%函数生成法
c=linspace(1,10,5);        %linspace(开始,结束,元素个数),等差生成指定元素数的一维矩阵,若省略元素个数,则生成100个

%特殊矩阵
e=eye(4);      %eye(维数)单位阵       
z=zeros(1,4);  %zeros(维数)全零阵
o=ones(2,3) ;  %ones(维数)全1阵
r=rand(1,4) ;  %rand(维数)0-1随机作为元素(可以为小数)的随机阵 
rn=randn(4);   %randn(维数)0均值高斯分布随机阵

%矩阵运算
%---------------------------------------------------------------
diag_a = diag(a,1) ;   %diag(行向量,主对角线上方第k条斜线)用行向量生成对角矩阵,生成的是一个列向量
tril_a = tril(a,1) ;   %tril(矩阵,主对角线上方第k条斜线) 生成的下三角阵
triu_a = triu (a,1) ;  %上三角阵

%加,减,乘,乘方
a*a ;

%点运算 对应的元素相乘
a.*b ;
a./b ;
a.\b ;
a.^b ;
a.*a ;

%逆矩阵
pinv(a) ;%伪逆矩阵,当a不是方阵时,求广义逆矩阵,当a是方阵时,结果与逆矩阵相同

%特征值,特征向量
[v,D] = eig(a) ;%输出v是特征向量,D为特征值对角阵

%行列式
det(a);

%秩
rank(a);

%伴随
compan(b) ;

%矩阵修改
%---------------------------------------------------------------
%部分替换
chg_a = a ;
chg_a(2,3) = 4 ;          %(行,列)元素替换
chg_a(1,:) = [2,2,2] ;    %(行,:)替换一行的数据
chg_a(:,1) = [] ;         %[]为删除该列

%转置
T_a = a' ;

%指定维数拼接
c1_a = cat(1,a,a) ;    %1代表垂直拼接
c2_a = cat(2,a,a) ;    %2代表水平拼接

%变维(注意MATLAB是列存储优先)
rs_a = reshape(a,1,9) ;    %元素个数不变,矩阵变为m*n

%信息获取
%---------------------------------------------------------------
%获取矩阵的行列数
[row_a,col_a] = size (a) ;  %输出为矩阵的行数和列数

%行数和列数中大的数
len_a = length(a) ;

%多维数组的创建
%---------------------------------------------------------------
%直接法
mul_1(:,:,1) = [1,2,3;2,3,4] ;
mul_1(:,:,2) = [2,2,3;2,5,4] ;
%扩展法
mul_2 =[1,2,3;2,3,4];
mul_2(:,:,2) = [3,4,5;4,5,6];   %若不赋值第一页,第一页全为0
%cat法
mul_31 = [1,2,3;2,3,4] ;
mul_32 = [2,2,3;2,5,4] ;
mul_3  = cat(3,mul_31,mul_32) ; %把mul_31,mul_32按照三维拼接

%字符串
%---------------------------------------------------------------
%字符串创建
str = 'hello world' ;        %单括号引起字符串
str = 'I''m a student';      %字符串中的单括号要写两遍
str = ['I''m''a''student'];  %方括号连接多个字符串
str = strcat(str0,str1) ;    %strcat连接字符串函数
str = strvat(str0,str1) ;    %strvvat连接产生多行字符串
str = double(str0) ;         %取str0的ASCII值,也可以用abs函数
str = chars(str6) ;          %把ASCII值转为字符串

%对字符串操作
%比较 string company  i=ignore
strcmp(str0,str1);      %相等为1,不相等为0
strncmp(str0,str1,3);   %比较前三个是否相等(n)
strcmpi(str0,str1);     %忽
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值