MATLAB入门学习(二)

关于矩阵 ~o( =∩ω∩= )m

matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有。

事实上,matlab里面所有变量都是以矩阵的形式保存下来的。

一个数字是1x1矩阵

我们来看看矩阵的输入方式吧!

这是直接输入的方式

行之间要用;或者回车隔开

每行数据的个数要相等

①冒号生成法
变量=初值:增量:终值

相当于for(i=1;1<=12;i+=2)

②还有一种 ,不知道增量,只知道初值,终值和项数 的方法

这是生成一个初值为1,终值为5,10项的一维向量。

下面看看矩阵元素的访问

先输入一个矩阵

访问例如:第二行第三列:

然后:【访问第二行所有元素】

类似的:【访问第三列所有元素】

用两个向量来表示要显示的行和列的元素

A(n):访问矩阵里的第n个元素

按 列 的顺序(*≧▽≦*)记住了哦!列向量哦!!!

 

A(B)
B是一个矩阵
生成一个和B一样大小的矩阵

矩阵的元素就是B中每个数字对应的A中的元素,举例:

对照着上面的A矩阵看,这个写法相当于:

接下来:

还记得冒号是什么吧(。^▽^)~

 

当中间的数字为1时可以省略不写

【第3个元素到第七个元素】

【这样是到最后一个元素】

还可以倒序输出哦?(^∇^*)

 

然后是矩阵元素的赋值和修改

和上面基本差不多,就是要记得等号左右两边矩阵的大小要一样!

变为同一个数字就是这样:

删除:; 增加:

【这里删除和增加只能一行一行地操作】

matlab内置了一些生成特殊矩阵的函数

常见的有:[]空矩阵、eye 单位阵、blkdiag对角矩阵、ones 全部元素为1的矩阵、zeros全部元素为0的矩阵

例子:

          

然后是向量和矩阵的运算

输入:

一些常见的指令:max 、min求最大最小元素;mean求平均值;median求中位数;sum求和【注意sum对矩阵操作的时候是按列求和】;prod求积;length求数组长度;size求矩阵的阶数。

             【按列求和喔0.0+】

想求矩阵全部元素的和:

其他一些操作对矩阵同理~

矩阵运算:矩阵的四则运算和线性代数里面学的一样(注意矩阵的大小)

(告诉我,你学了线代的对吧(??∀?)??)

        

关于除法,注意matlab里有两种除法,左除\和右除/【相当于左乘或者右乘那个矩阵的逆矩阵】

线性代数里面学过: 除以一个矩阵 等于 乘以它的逆矩阵,

所以只有方阵才能做除法哦【可逆的方阵】

举例:【注意:rank是求矩阵的 秩】

  

【一眼看不出来答案了,,惊恐的眼神┌(。Д。)┐。。】

那我们来验证一下~使用命令inv来求矩阵的逆再做个乘法看看~

矩阵和数字的运算:

      

【这就是相当于每个元素单独和这个数字运算】

然后是点运算,这个比较特殊,要注意和普通运算区别 !

这是刚刚的A,B

    

好了,关于矩阵,你掌握的怎么样啦?(^∀^●)?其实还有一点没讲完,下篇博客补充!

时间: 2024-10-12 22:49:07

MATLAB入门学习(二)的相关文章

Objective C 快速入门学习二

Objective-C 类.对象.方法 1.编写一个复数类: #import <Foundation/Foundation.h>@interface Complex: NSObject //类声明,Complex继承NSObject { int iReal;//成员变量声明,在括号内 int iImag; } //成员函数声明,在括号外 -(void) print; -(void) setReal : (int) n; -(void)setImag : (int) d; @end //@int

MongoDB入门学习(二):MongoDB的基本概念和数据类型

上一篇讲了MongoDB的安装和管理,其中涉及到了一些概念,数据结构还有一些API的调用,不知道的没关系,其实很简单,这篇会简单介绍一下. 1.文档 文档是MongoDB的核心概念,多个键值对有序的放在一起就是一个文档,文档是MongoDB存储数据最基本的数据结构.对MongoDB都是以文档的形式来操作的,使用了一种类似JSON的二进制BSON数据格式,对API的调用都是传的文档参数.每种编程语言都有标示文档的数据结构,比如java的map,lua的table,python的dict等等,但是都

SpringMVC入门学习(二)

SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. model.addAttribute()的使用 model接口的源代码: 由图可知,在addAttribute()中有两种入参方式,一种是指明名字var1,一种是不指明名字var1.在不指明名字中,会通过相近的去寻找. 在addAttribute()中,我们可以放任何对象: 首先先导入jsp标签maven

git入门学习(二):新建分支/上传代码/删除分支

一.git新建分支,上传代码到新的不同分支 我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有webpack_test项目了,我是在这个项目的基础上新建其他的分支并开展工作的.如图: 如果你对如何新建webpack_test项目不清楚,请参考我的前一篇文章:git入门学习(一):github for windows上传本地项目到github,操作步骤如下: 1.1.保留webpack_test项目

activiti入门学习二

一.上一篇入门学习的地址 https://www.cnblogs.com/yangk1996/p/10878449.html 二.单机演示Demo 12.使用UEL表达式动态增加流程处理人 从新创建一个流程,使其Assignee变成表达式的.然后从新创建流程. * @Description: 启动流程实例,动态设置assignee * @date: 2019/6/23 20:28 */ public class AssigneeUel { public static void main(Stri

MATLAB入门学习(四)

今天我们开始学编程啦~ 点击左上角的这个进入编程界面 这是新建新的.m文件,也就是matlab命令文件, 一般命令文件不带输入和输出的参数,只是一些命令的组合,带有输入输出参数的文件是函数文件~ 下面我们来编写一个hello world 程序~ 输入disp('Hello World!'); 然后点击运行    你看~ 是不是很无聊...那就来个好一点的~ 输入:t=pi*(0:0.001:1);x=sin(t).*sin(10*t);comet(t,x) 然后运行,,自己研究玩去吧~ m文件就

MATLAB入门学习(七)

开始,线性代数和微积分了,不怕.不怕. 背命令就行了... 线性代数 解线性方程组: Ax=b A是系数矩阵,x未知数,b是列向量 如果有唯一解,直接x=b\A 第二 B=null(A,'r')求Ax=0的基础解系,B的列向量就是基础解系的列向量 C=null(A) 求出基础解系后将基础解系向量正交单位化存在C中 C=rref(A)求A的行最简形 结合之前学过的一些矩阵的命令比如rank,inv可以很好的解决线性方程组的问题. 怎么解线性方程组?先求Ax=0的基础解系,然后找Ax=b的一个特解.

MATLAB入门学习(六)

今天学三维作图 (*^__^*)-- 三维曲线作图 用到的命令:plot3 基本格式:plot3(x,y,z,s) 这里要画曲线,你需要知道该曲线的参数方程x=x(t),y=y(t),z=z(t) 然后其他就和二维的情况一样了 来,做个示范~ t=(0:0.02:2)*pi; x=sin(t); y=cos(t); z=cos(2*t); plot3(x,y,z,'b-'); box on; legend('example'); 这里可以改变观察视角~~~ 或者在命令栏里使用 view来改变视角

node入门学习(二)

一.模块系统 1.创建模块和引用模块 //如何创建一个模块 exports.hello = function(){ console.log('hello worl'); }; //这创建了一个模块 //如何引用模块 //1.require(); var hello = require('./module.js'); hello.hello(); //2. var {hello} = require('./module.js'); hello(); 2.服务端的模块 //服务端的模块 var ht