Matlab基础教程

Matlab 基础教程

零碎知识

1.语句后面加上“;”不显示输出
2.ans代表最近一个输出结果
3.clc清除所有的命令行窗口中的命令
4.clear清除工作区中所有变量
5.doc 函数名查找函数帮助文档
6.help 函数名调用函数简易帮助
7.退出 MATLAB 后,工作区变量不会保留。使用 save 命令保存数据以供将来使用,save myfile.mat
通过保存,系统会使用 .mat 扩展名将工作区保存在当前工作文件夹中一个名为 MAT 文件的压缩文件中。
8.使用 load 将 MAT 文件中的数据还原到工作区。load myfile.mat
9.%后面是注释
10.format函数可以控制显示的数字格式,但是不会影响真实值
11....为续行符

运算符

符号角色
==等于
~=不等于
>大于
<小于
>=大于等于
<=小于等于
&&逻辑与
||逻辑或
~逻辑非

算数运算符:

符号角色
*乘法
+加法
-减法
/除法
^乘方

数据类型

数组

Matlab的数组和Python类似,都是多维数组,但常用的就是一维数组和二维数组,以下均是在一维和二维数组上讨论问题。

数组创建

1.直接创建

x=[1,2,3,4;3,4,5,6] %逗号行和行的元素进行分隔,分号是列与列元素分隔

2.函数生成
常用函数linspace()生成
zeros()生成全为0的数组、eye()生成对角阵、ones()生成全为1的数组。

数组索引

Matlab多维数组中,第一个元素标号是1而不是0.

A = 4×5
16 2 3 13 0
5 11 10 8 0
9 7 6 12 0
4 14 15 1 17

A(4,5)=17
A(1:3,2)=[2,11,7]'
单独的冒号表示指定该维中的所有元素,与python索引不同的是,matlab切片操作两边都是闭区间,而python遵从左闭右开原则。matlab不能用负数作为索引值。
对超出数组区域复制会让数组直接扩容,并对没有赋值的地方补充上0。

数组运算

数组和标量运算是逐元素操作。
数组与数组之间的运算(+,-,*,/,\,^)均为矩阵运算,运算符前面加一个"."表示逐元素运算。
函数作用于数组,如果不是特定的对数组作用的函数,则默认是逐元素操作,如数学函数cos(),sin()。

数组操作

a’表示数组a转置
串联数组:用方括号将两个数组括起来就实现了数组的串联。
A=[a,b]表示横向拼接
A=[a,b]表示纵向拼接
删除数组中的元素,只需要另这一个位置的元素赋值为[ ]即可

数组生成

冒号矢量生成x=[start:step:end],包括start, 从start出发,一直增加step,直到小于等于end为止。

常用函数

函数功能
sum()求和
mean()平均值
det()行列式
prod()返回数组的连乘
mod()取余
readmatirx()从文件中读取数组
writematrix()保存数组

还有一些线性代数的常用函数,详见帮助文档。

复数

复数用i或j表示根号负一,6i,7j是合法的,可以省略*

常用函数

常用函数功能
conj()返回共轭复数
complex()创建复数
imag()返回虚部
real()返回实部

内置常量

列出几种常见的常量的功能

常量功能
inf正无穷大
pi圆周率

浮点数

浮点数不用多说了,声明的数值都是浮点数的形式。

字符串

单引号括起来就够了。

程序设计

M文件

M文件分为函数式M文件和脚本式M文件。
脚本式M文件是一个包含多行可以执行的MATLAB命令,相当于就是把多条MATLAB命令装入一个脚本文件一次性执行。
而函数式M文件第一行都是以function开始,说明该M文件是一个函数式脚本,M文件名必须和函数名相同。函数式M文件中的变量都是局部变量。
要创建M文件用edit命令
例如:edit mysphere创建一个名称为mysphere的M文件,将M文件保存后,在命令行中键入mysphere就可以运行,或者也可以在编辑器中按绿色的三角号运行。
关于函数式M文件的编写,看这篇文章在科学计算中就够用了。
https://blog.csdn.net/qq_25018077/article/details/88998126

实时脚本

实时脚本具有更强的交互性
用编辑器中的新建可以建立实时脚本,还可以选择把一些注释内容转化为纯文本格式,这样增强程序的可读性。

程序控制

循环结构

for循环
for 变量=一维数组
执行语句,执行语句……
end

例如:

for i=linspace(1,10,10)
z=z+i;
end
while循环
while 表达式
	执行语句
end

表达式为真则继续执行执行语句,执行到假为止

选择结构

if rem(a, 2) == 0
 disp('a is even')
 b = a/2;
end

以上这个例子说明,if后面的判断条件为真,则执行if和end之间的语句。

if a < 30
 disp('small')
elseif a < 80
 disp('medium')
else
 disp('large')
end

含有else和elseif如上,其意已现,注意每一个if对应一个end
接下来是switch的用法

switch dayString
	case 'Monday'
 		disp('Start of the work week')
 	case 'Tuesday'
 		disp('Day 2')
 	case 'Wednesday'
 		disp('Day 3')
 	case 'Thursday'
 		disp('Day 4')
 	case 'Friday'
 		disp('Last day of the work week')
 	otherwise
 		disp('Weekend!')
end

注意每一个switch对应一个end

转向控制

break语句

break 跳出当前循环

continue语句

continue直接进入下一次循环

pause语句

pause表示暂停程序的运行,用户按Enter键之后继续
pause(n)表示暂停n秒之后继续

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
目录: 第一章 简介 1.1 计算机应用与工程问题 1.2 工程问题的解决方式 第二章 MATLAB 简介 2.1 什么是MATLAB 2.2 基本功能 2.2.1 MATLAB 的视窗环境 2.2.2 简易数学 2.2.3 变数 2.2.4 其它功能 2.4 阵列与矩阵 2.4.1 简易阵列 2.4.2 建立阵列 2.4.3 阵列运算 2.4.4 特殊矩阵 2.4.5 阵列运算的特色 2.5 简易绘图 2.6 输入及输入 2.6.1 交谈式的输入 2.6.2 输出格式 2.7 如何撰写 MATLAB 程式 2.7.1 如何在自己的目录执行程式 2.8 储存及读取数据 2.9 其它绘图功能 第三章 进阶的绘图功能 3.1 绘图选项 3.1.1 横轴和纵轴的控制 3.1.2 子图 3.1.3 图形放大及缩小 3.1.4 函数分布的快速绘图 3.1.5 列印功能 3.1.6 其它的功能 3.2 三维绘图 3.1.1 三维的曲线绘图 3.1.2 曲面及等值线绘图 第四章 MATLAB函数 --- 语音讯号分析 4.1 数学函数 4.1.1 常见数学函数 4.1.2 三角和双曲线函数 4.1.3 复数 4.1.4 多项式函数 4.2 数据分析函数 4.2.1 极值、平均、总和、连乘及排序 4.2.2 变异数 4.2.3 长条分布函数 4.3 选择指令及函数 4.3.1 关系及逻辑运算 4.3.2 if-else-end 语法 4.4 范例问题:语音讯号分析 4.5 使用者自定函数 4.6 乱数 4.6.1 均匀乱数 4.6.2 常态乱数 4.7 矩阵运算函数 4.8 回圈 4.8.1 For 回圈 4.8.2 While 回圈 第五章 线性代数与矩阵 --- 蛋白质分子量分析 5.1 矩阵运算 5.1.1 基本矩阵运算元 5.1.2 矩阵多项式 5.3 矩阵函数 5.3.1 反矩阵、矩阵秩与行列式 5.3.2 特徵值与特徵向量 5.3.3 矩阵分解 第六章 解联立方程式 --- 电路分析 6.1 利用矩阵解法 6.2 范例问题:电路分析 第七章 内插及曲线拟合 --- 机械手臂路径 7.1 内插 7.1.1 一维内插 7.1.2 二维内插 7.1.3 Spline 内插 7.3 曲线契合 7.3.1 线性回归 7.3.2 多项式回归 7.3.3 多项式契合及函数计算 第八章 解方程式根 8.1 多项式的根 8.2 非线性方程式的实根 第九章 数值微分及积分 --- 管流分析 9.1 数值积分 9.1.1 梯形法 9.1.2 二次函数法 9.3 数值微分 9.3.1 差分表示法 9.3.2 差分函数 第十章 解常微分方程式 --- 发动机性能分析 10.1 微分方程式 10.2 阮奇-库达方法 10.3 范例问题:飞机发动机的加速性能分析 10.4 高阶常微分方程式 第十一章 符号运算 --- 气象气球 11.1 符号代数 11.1.1 符号表示式 11.1.2 数学式的化简 11.1.3 符号表示式的运算 11.2 解方程式 11.2.1 一般方程式 11.2.2 常微分方程式 11.3 微分与积分 11.3.1 微分 11.3.2 积分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光与无畏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值