Matlab学习笔记

Matlab学习笔记

一 .基础数据结构和常用函数

基本数据结构

微信图片_20220522025835

numeric(矩阵类型)

numeric代表矩阵:比如输入a=1,那么它的形状是(1,1)class默认是double,double指的是a这个矩阵里面元素的数据类型,这一点和python很大的不同,python中的数字类型是没有形状的,不是按照矩阵形式保存的

关于矩阵中元素数据类型转换,因为默认是double,还可以转为int8...等等

image-20220522071507909

关于矩阵的索引:

image-20220522034041028

关于矩阵的元素数值的更改:

先利用索引取出矩阵中相应元素,然后进行赋值即可,注意赋值号左右两边形状相同

%% a
1 2 3
3 4 6
a(:, 1:2) = [5 6 ;3 4]

矩阵组合

列增广:(原矩阵行数不变,列数相加)c = [a b]

行增广:c = [a; b]

矩阵四维运算

矩阵与矩阵之间的运算

'+' '-' # 矩阵对应元素相加减
'*' '.*' # 矩阵乘法和矩阵对应元素相乘
'A / B' # 约等于A * inv(B)
'./' # 对应元素相除
'A’' # 转置

矩阵与实数的运算

# A+a A/a A./a A*a A.*a和你想的一样,不解释了,这里加不加点都一样
A^a A.^a # 不一样,前者相对矩阵,后者是矩阵中的元素

特殊的矩阵

image-20220522041620186

矩阵常用的函数

image-20220522042650871

补充三个:

改变矩阵形状:reshape(A,3,4)

矩阵增加一列或一行:用行增广或者列增广

删除一列或一行:c(:, 4) = [] 取出某一列或者一行,设为[]即可

structure

一些常用的函数

image-20220522073750608

cell

cell的两种声明方式:都要加{},取出cell中的元素时,()取出来的依旧是cell,{}取出来的是真实的cell中的数据

比如:

a =
2×2 cell 数组
{2×2 double} {0×0 double}
{0×0 double} {'xiaoming'}
>> a(1,1)
ans =
1×1 cell 数组
{2×2 double}
>> a{1,1}
ans =
1 2
3 4

image-20220522074549566

一些常用函数

image-20220522075354125

系统常用函数

who、whos

who会列出当前工作区的所有变量 名

whos会列出工作区所有变量的详细信息,比如字节,数据类型,形状等

whos 变量名 只列出指定变量的详细信息

clear

clear :清除工作区所有变量

clear 变量名 :只清除工作区指定变量

format

显示数据在命令窗口输出的格式,format rat 是显示分数形式,format longE是以科学计数法显示

colon operator

等差数列生成器,就是

起始数:等差间隔:结束数

比如1:2:6 会生成一个矩阵[1 3 5]

rem 和disp

rem(3,2)求3对2的余数

disp('a') 将内容输出到命令行窗口

prod

prod([1 2 3]) 后面接一个向量,会把向量元素相乘

prod(1:n) n的阶乘

cat

cat(1,a,b) 1表示行增广,将a,b行增广连接,相当于[a;b]

cat(3,a,b)是在第三维layer上增广

常用关键字

ans、i,j(复数运算)、Inf(很大的数)、eps(很小的数)、NaN(未定义)、pi

iskeyword会列出常用关键字

如果变量名和关键字重名,变量名会比关键字优先级高,当你调用该关键字时会错误的调用变量

注释和智能缩进

一个%是单行注释

如果要对多行注释,选中多行,然后点击右键选择注释即可,或者点击窗口中的注释工具

两个%之间的内容称为节,点击运行节,可以只运行这个节的内容

image-20220522052733310

选中所有代码,右键选择智能缩进,可以对内容自动缩进

保存读取数据

二 .控制流和函数

控制流

image-20220522053141677

switch case otherwise

% switch后面是一个特定的值,case后面对应的是特定的案列,值等于某个case案例时,执行该case下面的语句
input_num=-1;
switch input_num
case -1
disp('-1')
case 2
disp('2')
otherwise
disp('不是-1或者2')
end
tic % tic toc组合会输出这段代码运行时间
a = zeros(1,10); % 预分配内存会更快
for n=1:10
a(n)=n^2;
end
disp(a)
toc

逻辑运算符

image-20220522053252911

函数

查看一个内建函数的文件所在的位置,matlab中的函数都是以.m的文件形式保存的

which('mean.m')

edit(which('mean.m'))会打开这个函数文件

# function 函数输出=函数名(函数输入) 函数名是等于函数文件名的,函数文件名开头第一行如下所示
# 单输出
function y = add(x1, x2)
y = x1 + x2;
# 多输出
function [a, F] = test(v2, v1, t2, t1, m)
a = (v2 - v1) ./ (t2 -t1);
F = m.*a;
# 调用多输出,要加中括号
[x, y] = test(2, 1, 2, 1, 5)

判断函数的输入输出参数值,或者输入输出变量长度

image-20220522065801160

函数句柄

就是函数的简易写法,将一个函数赋值给一个变量,该变量类型是函数句柄类型

>> clear
>> f = @(x)exp(-2*x); # @(输入变量)函数体
>> x = 0:0.1:2;
>> plot(x, f(x))
>> whos f
Name Size Bytes Class Attributes
f 1x1 32 function_handle

三 .绘图

posted @   rain-1227  阅读(183)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示