MATLAB(一)基本操作与矩阵输入

这篇具有很好参考价值的文章主要介绍了MATLAB(一)基本操作与矩阵输入。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

此篇文章是我在B站学习时所做的笔记,主要对MATLAB做了简单的介绍,代码部分为亲自动手演示过的,方便复习用。此篇文章仅供学习参考,禁止转载!


提示:以下是本篇文章正文内容,下面案例可供参考

一、Matlab视窗

MATLAB(一)基本操作与矩阵输入

二、基本操作与矩阵输入

1. 把MATLAB当做计算机

  1. Operators(操作员):+ - * /
  2. 结果由计算机显示为 Ans
  3. 优先组中从左到右的优先组是(最高第一组):
    (1) Parenthesis 括号 ()
    (2) Power 幂(^)
    (3) Multiplication and division 乘、除 (*, /)
    (4) Addition and subtraction 加、减 (+, -)

即:先加减后乘除,也可以用括号来设置优先级

2. 初等数学函数

Matlab帮助文档
运算符和基本运算
初等数学
图形

Exercise练习

摘自B站
MATLAB(一)基本操作与矩阵输入

知识点:三角学
√=sqrt()

>> cos(((1+2+3+4)^3/5)^0.5)
ans =

   -0.0050
>> cos(sqrt((1+2+3+4)^3/5))
ans =

   -0.0050

摘自B站
MATLAB(一)基本操作与矩阵输入

知识点:exp指数函数

错误代码:

>> e^sin(10))
 e^sin(10))
   ↑
错误: 文本字符无效。请检查不受支持的符号、不可见的字符或非 ASCII
字符的粘贴。
 
>> e^(sin(10))
函数或变量 'e' 无法识别。
 
>> exp^(sin(10))
错误使用 exp
输入参数的数目不足。

正确代码:1. 输入的字符要是英文的。2. 指数函数是exp(x)格式

>> exp(sin(10))

ans =

    0.5804

摘自B站
MATLAB(一)基本操作与矩阵输入

知识点:指数与对数

错误代码:

>> sin(sqrt(Π))+ln(tan(1))
 sin(sqrt(Π))+ln(tan(1))
          ↑
错误: 文本字符无效。请检查不受支持的符号、不可见的字符或非 ASCII 字符的粘贴。

正确代码:ln=log

>> sin(sqrt(pi))+log(tan(1))

ans =

    1.4228

2. 嵌入函数

函数可以嵌入到其他函数中

摘自B站
MATLAB(一)基本操作与矩阵输入

3. 特殊变量和常量

摘自B站
MATLAB(一)基本操作与矩阵输入

我们也可以通过查看文档的形式来了解哪些是特殊的变量和常量

>> iskeyword

ans =

  20×1 cell 数组

    {'break'     }
    {'case'      }
    {'catch'     }
    {'classdef'  }
    {'continue'  }
    {'else'      }
    {'elseif'    }
    {'end'       }
    {'for'       }
    {'function'  }
    {'global'    }
    {'if'        }
    {'otherwise' }
    {'parfor'    }
    {'persistent'}
    {'return'    }
    {'spmd'      }
    {'switch'    }
    {'try'       }
    {'while'     }

4.MATLAB调用优先

摘自B站
MATLAB(一)基本操作与矩阵输入

>> cos='This string';
>> cos(8)

ans =

    'r'

MATLAB(一)基本操作与矩阵输入

5. 数字显示格式长

样式 结果
short Short, 结果小数点后有4位的短的固定十进制格式。
long Long,固定的十进制格式,双值在小数点后15位,单值在小数点后7位。
shortE 小数点后有四位数的短科学记数法。
longE 长科学记数法,双值在小数点后15位,单值在小数点后7位。
bank 小数点后有两位的货币格式。
hex 二进制双精度数的十六进制表示。
rat 小整数的比率。把数值转成有理数,分数

如:

>> format long
>> pi

ans =

   3.141592653589793

>> format longE
>> pi

ans =

     3.141592653589793e+00

>> format bank
>> pi

ans =

          3.14

>> format rat
>> pi

ans =

     355/113   

Exercise练习

摘自B站
MATLAB(一)基本操作与矩阵输入

>> 3/13+4/14+5/15

ans =

    0.8498

>> format long
>> ans

ans =

   0.849816849816850

>> format rat
>> ans

ans =

     232/273   

6. 命令行终端

观察两者的区别

>> a=10

a =

      10       

>> a=10;

;在命令的末尾会抑制到终端的输出,即是让此数值不显示
↑ 可以用来显示以前的命令

7. 部分函数

clc 清除命令窗口显示
clear 删除工作区中的所有变量,从工作区中删除项目、释放系统内存
who 列出工作区中的变量
whos 列出工作区中的变量及大小和类型

移除工作区的(variable)变量cos方式:

>> clear cos

MATLAB(一)基本操作与矩阵输入
用clear会把工作区的东西全部清空,要小心使用

>> clear

清屏(清除命令行窗口)的语句为:

clc

8. 数组(向量和矩阵)

知识点:线性代数

>> a=[1 2 3 4]

a =

     1     2     3     4

>> b=[1;2;3;4]

b =

     1
     2
     3
     4

>> a*b

ans =

    30

>> b*a

ans =

     1     2     3     4
     2     4     6     8
     3     6     9    12
     4     8    12    16

Exercise练习

摘自B站
MATLAB(一)基本操作与矩阵输入

>> A=[1 21 6;5 17 9;31 2 7]

A =

     1    21     6
     5    17     9
    31     2     7

9. 数组索引

摘自B站MATLAB(一)基本操作与矩阵输入

A(8):第8个数字
A([1 3 5]):第1、3、5个数字
A([1 3;1 3]) :第1、3个数字与第1、3个数字组成的矩阵
A([1 3],[1 3]):第1行、第3行与第1列、第3列的交集形成矩阵


>> A=[1 21 6;5 17 9;31 2 7]

A =

     1    21     6
     5    17     9
    31     2     7

>> A(8)

ans =

     9

>> A([1 3 5])

ans =

     1    31    17

>> A([1 3;1 3])

ans =

     1    31
     1    31

>> A(3,2)

ans =

     2

>> A([1 3],[1 3])

ans =

     1     6
    31     7

10. 取代位置

修改矩阵中的下列要素:

摘自B站MATLAB(一)基本操作与矩阵输入

A(1,2)=76替换掉第1行第2列的数值
A(3,:)输出第3行数值
A(3,:)=[]使第3行数值为空

注意
表达式:A()=[ ]表示删除A的行或列

>> A

A =

     1    21     6
     5    17     9
    31     2     7

>> A(1,2)=76

A =

     1    76     6
     5    17     9
    31     2     7

>> A(3,2)=0

A =

     1    76     6
     5    17     9
    31     0     7
    
>> A(3,:)

ans =

    31     0     7

>> A(3,:)=[]

A =

     1    76     6
     5    17     9

11. 冒号运算符

创建向量或数组,并指定迭代

摘自B站
语法:MATLAB(一)基本操作与矩阵输入


>> B=1:5

B =

     1     2     3     4     5

>> B=1:2:5

B =

     1     3     5

>> B=[1:5;2:3:15;-2:0.5:0]

B =

    1.0000    2.0000    3.0000    4.0000    5.0000
    2.0000    5.0000    8.0000   11.0000   14.0000
   -2.0000   -1.5000   -1.0000   -0.5000         0

>> str='a':2:'z'

str =

    'acegikmoqsuwy'

12. 数组连接

矩阵可以通过串联形成,保持矩形形状

摘自B站
MATLAB(一)基本操作与矩阵输入

F=[A B]表示把A和B 放在一起形成一个新的增广矩阵

>> A=[1 2;3 4];
>> B=[9 9;9 9];
>> F=[A B]

F =

     1     2     9     9
     3     4     9     9

>> F=[A;B]

F =

     1     2
     3     4
     9     9
     9     9

13. 数组操作

数组操作符:+ - * / ^ . '(转置)

Form Examples
A+b [6,3]+2=[8,5]
A-b [8,3]-5=[3,-2]
A+B [6,5]+[4,8]=[10,13]
A-B [6,5]-[4,8]=[2,-3]
A*B [3,5]*[4,8]’=52
A.*B [3,5].*[4,8]=[12,40]
A./B [2,5]./ [4,8]=[2/4,5/8]
A.\B [2,5].\ [4,8]=[4/2,8/5]
A.^B [3,5].^ [2,4]=[3^ 2,5^4]

摘自B站MATLAB(一)基本操作与矩阵输入

  • A+B:A和B的每行每列对应相加得到的新矩阵
  • A*B:用A的行乘以B的列,即A*B的第1行1列的值等于1*3+2*2+3*1=10,A*B的第1行2列的值等于1*3+2*4+3*3=20
  • A.*B:A和B的每行每列对应相乘得到的新矩阵,即A.*B的第1行1列的值等于1*3=3,A.*B的第1行2列的值等于2*3 =6
  • A/B:A*inv(B),inv(B) 计算方阵B的逆矩阵。B^(-1) 等效于 inv(B)。
  • A./B:A和B的每行每列对应相除得到的新矩阵,即A./B的第1行1列的值等于1/3
  • A+a:在A里边的数值每个都加上a
  • A/a=A./a
  • A^a= A^2=A*A
  • A.^a:在A矩阵里边,每个值都平方
  • A’:将A照着对角线转置
>> A=[1 2 3;4 5 4;9 8 7]

A =

     1     2     3
     4     5     4
     9     8     7

>> B=[3 3 3;2 4 9;1 3 1]

B =

     3     3     3
     2     4     9
     1     3     1

>> y1=A+B

y1 =

     4     5     6
     6     9    13
    10    11     8

>> y2=A*B

y2 =

    10    20    24
    26    44    61
    50    80   106

>> y3=A.*B

y3 =

     3     6     9
     8    20    36
     9    24     7

>> y4=A/B

y4 =

    0.0714    0.2857    0.2143
    1.1667         0    0.5000
    3.2619   -0.2857   -0.2143

>> y5=A./B

y5 =

    0.3333    0.6667    1.0000
    2.0000    1.2500    0.4444
    9.0000    2.6667    7.0000

>> a=2;
>> x1=A+a

x1 =

     3     4     5
     6     7     6
    11    10     9

>> x2=A/a

x2 =

    0.5000    1.0000    1.5000
    2.0000    2.5000    2.0000
    4.5000    4.0000    3.5000

>> x3=A./a

x3 =

    0.5000    1.0000    1.5000
    2.0000    2.5000    2.0000
    4.5000    4.0000    3.5000

>> x4=A^a

x4 =

    36    36    32
    60    65    60
   104   114   108

>> x5=A.^a

x5 =

     1     4     9
    16    25    16
    81    64    49

>> C=A'

C =

     1     4     9
     2     5     8
     3     4     7

14. 一些特殊的矩阵

  • linspace():生成线性间距向量
    例:linspace(x1,x2,n) 生成 n 个点。这些点的间距为 (x2-x1)/(n-1)。
  • eye():单位矩阵
    例:eye(n)返回一个主对角线元素为 1 且其他位置元素为 0 的 n×n 单位矩阵。
  • zeros():创造全零矩阵
    例:zeros(n) 返回一个 n×n 的全零矩阵。
  • diag():创建对角矩阵或获取矩阵的对角元素
    例:diag(v) 返回包含主对角线上向量 v 的元素的对角矩阵。
  • rand():均匀分布随机数
>> linspace(0,13,6)

ans =

         0    2.6000    5.2000    7.8000   10.4000   13.0000

15. 一些矩阵相关函数

摘自B站
MATLAB(一)基本操作与矩阵输入

  • max(A):数组的最大元素,如上面题的max(A)=[7 5 9]
    1、如果 A 是向量,则 max(A) 返回 A 的最大值。
    2、如果 A 为矩阵,则 max(A) 是包含每一列的最大值的行向量。
    3、如果 A 是多维数组,则 max(A) 沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度的大小将变为 1,而所有其他维度的大小保持不变。如果 A 是第一个维度长度为零的空数组,则 max(A) 返回与 A 大小相同的空数组。
  • max(max(A)):整个矩阵中最大值,如max(max(A))=9
  • sum(A):数组元素总和,如sum(A)=[8 7 18]
    1、如果 A 是向量,则 sum(A) 返回元素之和。
    2、如果 A 是矩阵,则 sum(A) 将返回包含每列总和的行向量。
    3、如果 A 是多维数组,则 sum(A) 沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度会变为 1,而所有其他维度的大小保持不变。
  • sort(A):对数组元素排序,每列的值都会从上到下依次从小到大排,即按升序对 A 的元素进行排序。
  • sortrows(A):对矩阵行或表行进行排序,基于第一列中的元素按升序对矩阵行进行排序。
  • size(A):数组大小,求出这个A矩阵为几行几列,如果 A 是一个 3×4 矩阵,则 size(A) 返回向量 [3 4]。
  • find(A):查找非零元素的索引和值, 如find(A==6)=8:在A矩阵中,A=6的值位于第8个位置。
>> A=[1 2 3;0 5 6;7 0 9]

A =

     1     2     3
     0     5     6
     7     0     9

>> max(A)

ans =

     7     5     9

>> max(max(A))

ans =

     9

>> min(A)

ans =

     0     0     3

>> sum(A)

ans =

     8     7    18

>> mean(A)

ans =

    2.6667    2.3333    6.0000

>> sort(A)

ans =

     0     0     3
     1     2     6
     7     5     9

>> sortrows(A)

ans =

     0     5     6
     1     2     3
     7     0     9

>> size(A)

ans =

     3     3

>> length(A)

ans =

     3

>> find(A)

ans =

     1
     3
     4
     5
     7
     8
     9

>> find(A==6)

ans =

     8

如若侵权,请及时与我联系。
此篇文章仅供学习参考,禁止转载!
文章来源地址https://www.toymoban.com/news/detail-403760.html

到了这里,关于MATLAB(一)基本操作与矩阵输入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Matlab基本操作和矩阵输入(郭彦甫视频学习笔记)

    who/whos         查看工作区当前变量 clear         清空工作区的所有变量(慎用) clear  valuable         清除变量valuable clc             清空命令行窗口 clear all         清除工作区所有变量 close all         关闭所有显示的图片 一行代码太长需要换行写可以在后面加 ... 

    2024年02月06日
    浏览(25)
  • 【MATLAB】 01 基本操作与数组输入

    认识 MATLAB 操作界面 可以通过 Layout 选择需要显示的窗口及布局 使用 MATLAB 编程有两种方法 命令行 (命令窗口) 脚本 ( .m 文件) 运算符 + , - , * , / , ^ 计算的结果 以 ans 显示 优先级 同一优先级从左到右 优先级为 Parenthesis ( () ) Power ( ^ ) Multiplication and division ( * , / ) Addition and sub

    2024年02月06日
    浏览(32)
  • 【矩阵的基本操作】——MatLab基础

    对矩阵A加一个’就表示A的转置矩阵 横拼: 对于A、B两个矩阵,我们该怎么做到使矩阵A在左,B在右形成一个新矩阵呢? 竖拼: 因为分号表示换号,所以用分号来进行竖直凭借 位置是一列一列从左往右数的,相当于门牌号只有一个数 取出矩阵A中第m行n列的元素 end(): 取矩阵

    2024年02月16日
    浏览(29)
  • 矩阵基本操作算法

    思路: 利用上三角遍历,实现矩阵转置相加 代码实现:

    2024年02月04日
    浏览(37)
  • 图的基本操作(邻接矩阵)

    图是比较常用的一种数据结构,我针对期末考试对其进行了大概整理,形成了本文。 整体上是基于文件进行图的建立,有两种文件内容格式,READMODE ==1时,是读入顶点个数,顶点信息以及邻接矩阵,READMODE ==2时,是读入顶点个数,顶点信息,边的个数,边的信息,样例如下:

    2024年02月04日
    浏览(35)
  • matlab绘制折线图基本操作

    本篇博客主要总结matlab绘制折线图的基本操作,使用的函数是plot函数,关于plot的函数语法规则,这里不再赘述,可以参考matlab官方文档,https://ww2.mathworks.cn/help/matlab/ref/plot.html#d124e1037051,不看也没关系,因为后面我会总结得很详细。 绘制折线图,首先我们要设定线型,线条

    2024年02月05日
    浏览(31)
  • 用三元组表实现稀疏矩阵的基本操作

    目录 问题描述 数据结构 算法设计 算法流程图  源代码  运行结果      ​    编写程序用三元组表实现稀疏矩阵的按列转置操作。 本设计使用三元组表实现。 程序中设计了三个函数: 1.函数InitSPNode()用来建立一个稀疏矩阵的三元组表。     首先输入行数、列数和非零元的

    2024年02月03日
    浏览(32)
  • MATLAB图论合集(一)基本操作基础

    本帖总结一些经典的图论问题,通过MATLAB如何计算答案。近期在复习考研,以此来巩固一下相关知识——虽然考研肯定不能用MATLAB代码哈哈,不过在实际应用中解决问题还是很不错的,比C++易上手得多~ 此外,本帖图论中非常重要的知识点——最小生成树。作为数据结构的理

    2024年02月13日
    浏览(29)
  • Matlab中的基本绘图操作,Matlab中如何绘图

    目录 一.示例基本程序 二.图片 三.说明         1.首先应该给定初值 2.matlab中的Π用pi代替 3.figure的作用是建立一个幕布,有时可以不写 4.plot( x=sin(x))作用是绘制一幅 x=sin(x)当前函数的图 5.title(\\\'   x=sin(x) \\\')的中可以添加图片的标题 x=sin(x) 6.xlabel(‘  x   ’)与ylabel(

    2024年02月16日
    浏览(23)
  • Matlab:利用Matlab软件进行GUI界面设计实现图像的基本操作

    📌数模之路+Matlab 专栏正在持续更新中,案例的原理图解析、各种模块分析💖这里都有哦,同时也欢迎大家订阅专栏,获取更多详细信息哦✊✊✊ ✨个人主页:零小唬的博客主页 🥂欢迎大家 👍点赞 📨评论 🔔收藏 ✨作者简介:20级计算机专业学生一枚,来自宁夏,可能会

    2024年02月06日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包