Matlab

  • 基础知识
    • 续行书写
    • 设置当前文件夹
    • 函数总结
    • 向量与矩阵
    • 矩阵引用
    • 删除矩阵元素
    • 矩阵算法
    • 特殊矩阵
    • 矩阵变换
    • 矩阵求值
    • 矩阵特征值与特征向量
  • 字符串
    • 字符串比较
    • 字符串函数总结
  • 基本语法
    • if-elseif-else-end
    • switch
    • while
    • for
  • 函数文件的定义与调用
    • 函数定义
    • 函数调用
    • 匿名函数
  • EXCEL 数据
    • 读取
  • 绘图
    • 二维曲线
    • 基本绘图
    • 美化

基础知识

1. 末尾加不加“;”的区别a=10;  加分号不会显示ans结果,编写长串代码这样会显得界面简洁a=10
2. 注释: %
3. 不等于: ~=

续行书写

>>s = 1-1/2+1/3+...    % '...' 表示续行书写 用于单行代码太长时使用
1/4-1/5

设置当前文件夹

先建立一个文件夹,然后在命令行窗口输入

>> cd 建立文件夹的路径

函数总结

sin(p1/2) 弧度
sind(90) 角度
abs(x) 求实数的绝对值、复数的模、字符串的ASCII码
round 四舍五入规则取整
ceil 向上取整
floor 向下取整
fix 舍去小数取整
rem(m,10) 求m除以10的余数,其中m可以是矩阵A,即矩阵A中每个元素除以10 的余数
isprime(n) n为素数返回1
sqrt(x) 根号下
exp(x) e的指数
>>save mydata a x 将变量 a x 保存在mydata.mat 文件中
>>load mydata 下次打开文件,就可以载入这个.mat文件
linspace(a,b,n) 从a到b一共生成n个
D=sub2ind(size(A),[1,2;2,2],[1,1,;3,2]) 参数1:由矩阵A行数和列数组成的向量,size(A):返回的是矩阵行数和列数组成的向量;参数2:行下标;参数3:列下标。将矩阵中元素的行列数转换为序号数,比如获取行1列1的元素在矩阵中的序号为多少
[I,J]=ind2sub(S,D) S:由矩阵A行数和列数组成的向量;D:序号。将矩阵元素序号转换为对应元素的行列下标。例如:[I,J]=ind2sub([3,3],[1,3,5]) 表示对一个三行三列的矩阵的第1,3,5个序号的元素求其对应的行列下标
reshape(A,x,y) 将矩阵A维度改为x行y列 其余不变
find(表达式) 返回满足表达式的序号构成的 向量
clear 清除当前工作区的全部变量
lower(c ) 将大写字母转换成小写
upper( c ) 将小写转换为大写
str2double( c) 将字符串转换为数值
num2cell(0:34) 将 [0,1,2,…,34] 的 向量 转换为 数值 形式

向量与矩阵

1. 行向量a=[1 2 3 4]  中间用空格a(3) 取出第三个元素2. 列向量b=[1;2;3;4] 中间用分号3. 矩阵A=[1 2 3;4 5 6;7 8 9]A(1,2) 取出矩阵第一行第二个元素利用已经建立好的矩阵,拼接成更大的矩阵B = [-1 2 3;3 2 1;1 3 1]C = [A B;B A]复数矩阵D = A + B * i4.创建等差 “:”为创建 A=1,2,3,...,100A=[1:100]    等差=1x = 1:2:100 %生成1-100 步长为2 的行向量B=[1:2:100]  等差=2

矩阵引用

C(3 , :)    取出矩阵第三行所有值
A(i : i+m ; k:k+m) 取出i到i+m行 k到k+m列的元素
A(2:3,1:2:5)引用第2-3行 第1,3,5列元素
A(3,2)  第三行第二列元素
A(end,:) 取最后一行所有元素
A(:) 将矩阵每一列都堆在一起,形成新的一列的列向量
A([1,4],3:end) 第一行和第四行 从第三列到最后一列的所有元素
A = [1 2 3;4 5 6]
>>A(3)  % 取出序号为3 的元素
ans =  2  %矩阵按列存储元素

删除矩阵元素

将元素置空

>>A(:,[2,4])=[] %将第二和第四列的所有元素置空,即删除元素,矩阵的维度会缩小

**注:**置空与赋值为0 不一样,赋值为0 ,矩阵原有维度不变,置空后维度会缩小

矩阵算法

 A+2 每个元素➕2A/2 每个元素除以2A^2 矩阵A的平方

点运算
是指对应元素进行相关运算

A .* B 对应元素相乘
A * B 两个矩阵在矩阵意义下的计算

例如:

>> x=0.1:0.3:1;
>> y = sin(x) .* cos(x)
这里必须用 .*  因为假设 x 是列向量,那么 sin(x) 和 cos(x) 都是和 x 同维列向量,此时如果只用 * 而不用 .* 会导致两个列向量相乘,不满足矩阵向量相乘的前提

特殊矩阵

eye(n)          n维单位矩阵
diag([2 3 4 ])   对角线矩阵,主对角线元素为2 3 4
zeros(m,n)              全零矩阵
zeros(size(A))  产生与A同样大小的0矩阵
ones         全1 矩阵
rand      (0,1)均匀分布的随机矩阵
randn    均值为0 方差为1 的标准正态分布
magic(3)  三阶魔方矩阵
vander(1:5) 产生1 2 3 4 5 向量为基础的范德蒙矩阵
hilb(n)  n阶希尔伯特矩阵
compan(p)  伴随矩阵,其中p 为多项式的系数向量

矩阵变换

diag(A) 提取矩阵A主对角线 形成列向量
triu(A) 提取主对角线及以上的元素
A .’ 转置
A’ 共轭转置
inv(A) 求逆矩阵

矩阵求值

det(A) 行列式
rank(A)
trace(A)

矩阵特征值与特征向量

eig(A) 全部特征值
[X,D]=eig(A) D为特征值构成的对角阵,X为对应特征向量

字符串

>>s ='banana'  %单引号
>>s(1:3)
ans=
ban

字符串比较

按照ASCII码 逐个比较

>>'www0' >= 'W123'
ans=1 1 1 0

字符串函数总结

abs(s) 获取字符串s 中每个字符的ASCII码
char(s) 将ASCII码S 转换为字符串
strcmp(s1,s2) 比较字符串s1 s2是否相等
strncmp(s1,s2,n) 比较字符串s1 s2前n个字符是否相等
strcmpi(s1,s2) 忽略大小写,比较字符串s1 s2是否相等
strncmpi(s1,s2,n) 忽略大小写,比较字符串s1 s2前n个字符是否相等
findstr(s1,s2) 返回短字符串在长字符串中的 开始位置
strrep(s1,s2,s3) 将s1中所有s2替换为s3

基本语法

输入

>> A = input('请输入');

输出

>> s = 'Hello';
>> disp(s)

if-elseif-else-end

if 条件1语句1
elseif 条件2语句2
else语句3
end

switch

switch 数值
case value1语句1
case value2语句2
otherwise语句3
end

while

while 表达式语句
end

for

for n=1:2:100语句
end

函数文件的定义与调用

函数定义

在函数文件中

function 输出形参表 = 函数名(输入形参表)
函数体语句% 有多个形参时,用逗号分隔,多个输出形参之间除了逗号,还需要 方括号括起来,构成输出矩阵

例:
求半斤为r的圆的周长与面积

function [s,p] = fcircle(r)
s = pi *r*r;
p=2*pi*r;

函数调用

[输出实参表]=函数名(输入实参表)
>>[s,p] = fcircle(10) % 调用并传入 r=10 实参

匿名函数

>>f = @(x,y)x^2+y^2      %别名 = @ (参数)表达式
>>f(3,4)
ans =
25

EXCEL 数据

读取

information=xlsread('1.xlsx')          读取excel表中 全部 数据信息
information=xlsread('1.xlsx','B2:D4')  读取excel表中B2:D4表格区域数据信息

绘图

二维曲线

折线

>>x=[2,3,1,3];
>>y=[1,3,1,1];
>>plot(x,y)

基本绘图

1. plot(x,y)
2. hold on plot(x1,y1)plot(x2,y2)hold off% hold on/off 是把两个曲线放在一个图中,不然只会绘制出x2,y2的图
3.subplot() 在一个figure上放多个plots -> 05初阶绘图1:11:36

美化

1.plot(x,y,'ok-')     绘制线条是圈圈黑色实线
2.plot(x1,y1,'ok-',x2,y2,'sb--',x3,y3,'dr:')    一幅图中绘制多个 legend('第一条曲线名称','第二条曲线名称','第三条曲线名称')   加图注,不然分不清哪条曲线是啥
3.title(‘图名称’)
4.xlabel(‘x轴名称’)ylabel(‘y轴名称’)

matlab 学习记录相关推荐

  1. Matlab学习记录 1

    文章目录 Matlab学习记录 使用帮助文档 Matlab读取CSV文件 MATLAB查看变量的类型 Matlab 提取矩阵 某一行 或者 某一列 的方法 mic的计算 矩阵下标从1开始 矩阵转置 获 ...

  2. Matlab学习记录-矩阵的生成

    Matlab学习记录-矩阵的生成 matlab中生成矩阵有两种方式: 1.中括号加分号. 中括号表示矩阵,分号表示分行:每一行之间的元素可以用逗号分开也可以用空格分开: 例如 a=[1 2 3; 4 ...

  3. Matlab——学习记录篇1番外篇——hold on与hold off的区别

    重点重点!!!!!!!本人使用的Matlab版本是R2021b,如果下面代码在别的版本运行之后有bug显示的话,需要自己到百度寻找相应的函数把错误的地方替换 继上一篇学习记录篇1,编程的时候一直对ho ...

  4. 一时兴起之matlab学习记录

    是学习记录,会有错误的地方 安装的话看其他文章把 小操作 查看历史命令 在输入命令的地方,按下↑的方向键即可 模糊查找使用过的命令 在输入命令的地方,输入一个字母,按下↑会弹出一个以输入字母开头的历史 ...

  5. matlab学习记录之基本操作整理

    文章目录 一些常用命令 数据结构相关 数值,比较,运算 变量初始化 画图操作 画图线的颜色,线的形式,符号形式和图例 一些常用命令 clc清空命令窗口内容,clf清空当前图像窗口中的内容,clear清 ...

  6. matlab中quat2angle,matlab 学习记录

    (1)元胞数组的创建 a={'matlab',20;ones(2,3),1:10}                                        %创建方法一 b=[{'matlab' ...

  7. Matlab学习记录:常用模块

    1.假如你用的2019版本,导出的模型不能用到比2019版本低的matlab软件,此时可以通过以下操作导出别的版本的文件,就可以在低版本软件下打开. 2.模型配置文件 新建一个脚本 运行完之后,在保存 ...

  8. matlab学习记录

    %矩阵 a=[1,2,3;4,5,6;7,8,9] %在Matlab在存储矩阵时,是一列一列存储的 a(3) %位置3的元素(竖着数) a(2,1) %a第2行第1列个元素 b=[1,1,1;2,2, ...

  9. MATLAB学习记录day02

    1.randn函数-生成正态分布随机数 参考链接: randn函数官网说明. Y=randn(n) 生成一个n×n随机矩阵,其元素服从均值为0,方差为1的标准正态分布. Y=randn(m,n) 生成 ...

最新文章

  1. 知识图谱基本概念工程落地常见问题
  2. Reconstructing complex regions of genomes using long-read sequencingtechnology
  3. Qt控制中控考勤SDK
  4. python_ re模块学习
  5. ElementUI el-time-picker-只显示小时、分钟,分并添加范围校验
  6. FreeSql使用WithSql+ ToSQL 查询数据
  7. java中String相等问题
  8. 双胞胎被麻省理工全奖录取,他们成功的秘诀,跟你想的不一样……
  9. Python+turtle交互式绘图:可以用鼠标拖动的小海龟
  10. java遍历嵌套二维map输出下标_Map集合嵌套 4种遍历方式
  11. 费马小定理与欧拉公式
  12. 自创RTSP 服务器 用多款客户端软件测试接入可以,唯独VLC接入不了
  13. 高德地图中自定义色块标识任意省市县区域
  14. android动态壁纸2.2.1,动态壁纸选择器
  15. Dichotomy二分法学习笔记
  16. 微信小程序图片在不同设备显示保持图片比例并且居中
  17. 基于Cookie-Editor与curl实现跨设备的文件下载
  18. 2020年Android开发的未来发展方向该如何走?
  19. SpringSecurity以及Oauth2(笔记)
  20. linux双击运行jar包,linux下发布JAR包 并运行

热门文章

  1. 两个整形数组升序合并Java
  2. CANoe-RS485/RS232
  3. 2018年度,产品经理/Axure教学视频黑马
  4. 香港电台知名主持人梁继璋曾给孩子写过一封信
  5. IPO在即,Uber让你从“拼车”到“拼吃”
  6. Scrapy pycharm 爬取豆瓣排名前250信息
  7. 缺口将达230万!大数据人才求职需要注意这些
  8. 如何对构建基因克隆的测序结果批量进行序列比对并输出结果
  9. 75、单元测试-嵌套测试
  10. 未来计算机的畅想英语作文,未来的机器人英语作文