matlab(矩阵实验室),一个强大的数学工具。不扯其他的,matlab就是把大量函数封装起来起来,让所有人就算不知道实现原理都可以解决高难度的数学问题的工具,学matlab就是学它的函数的使用,并且记住什么函数有什么用,几乎没有什么特别要学习的语法,有编程基础的稍微看下官方文档,改改自己的习惯就好了。(所以我也不讲语法啦,直接看函数)
简单的记录一下Matlab的一些简单运用,希望可以印象深一些!
函数
这些函数都很重要,需要牢记
输出函数
ans | 最近计算的答案 |
---|---|
clc | 清空命令行窗口 |
diary | 将命令行窗口文本记录到日志文件中 |
format | 设置命令行窗口输出显示格式 |
home | 发送光标复位 |
iskeyword | 确定输入是否为 MATLAB 关键字 |
more | 控制命令行窗口中的分页输出 |
基本算术函数
加法
plus | 加法 |
---|---|
uplus | 一元加法 |
sum | 数组元素总和 |
cumsum | 累积和 |
movsum | 移动总和 |
减法
minus | 减法 |
---|---|
uminus | 一元减法 |
diff | 差分和近似导数 |
乘法
times | 按元素乘法 |
---|---|
mtimes | 矩阵乘法 |
prod | 数组元素的乘积 |
cumprod | 累计乘积 |
除法
rdivide | 数组右除 |
---|---|
ldivide | 数组左除 |
mrdivide | 对线性方程组 xA = B 求解 x |
mldivide | 对线性方程组 Ax = B 求解 x |
幂
power | 按元素求幂 |
---|---|
mpower | 矩阵幂 |
符号
有些可以直接用符号的就用符号,没必要用函数,符号个人感觉更直观,和日常接触的数学符号类似。
算术运算符
符号 | 角色 | 函数 |
---|---|---|
+ | 加法 | plus |
+ | 一元加法 | uplus |
- | 减法 | minus |
- | 一元减法 | uminus |
.\* | 按元素乘法 | times |
\* | 矩阵乘法 | mtimes |
./ | 按元素右除 | rdivide |
/ | 矩阵右除 | mrdivide |
.\ | 按元素左除 | ldivide |
\ | 矩阵左除(也称为反斜杠) | mldivide |
.^ | 按元素求幂 | power |
^ | 矩阵幂 | mpower |
.' | 转置 | transpose |
' | 复共轭转置 |
关系运算符
符号 | 角色 | 更多信息 |
---|---|---|
== | 等于 | eq |
~= | 不等于 | ne |
> | 大于 | gt |
>= | 大于或等于 | ge |
< | 小于 | lt |
<= | 小于或等于 | le |
逻辑运算符
符号 | 角色 | 更多信息 |
---|---|---|
& | 逻辑 AND | and |
**` | `** | 逻辑 OR |
&& | 逻辑 AND(具有短路功能) | [`Logical Operators: Short-Circuit && |
**` | `** | |
~ | 逻辑非 | not |
先记住这些就够了,其他的以后用得着的时候再说。
其他
…
:续行符,(命令太长,一行不够使的时候)
cd
:当前文件夹
path
:设置搜索文件路径(例:path(path,’d:\work’))或设置路径
1.解多项式和绘图
法一
p = [2,1,9]; %从x零次方开始,右到左依次增加
r = roots(p) %输出解
绘图:
x= -8:0.1:8 %x的取值-8~8,隔0.1一个点
y1 = x.*x-3*x+1; %函数
y2=zeros(size(x)); %x轴
plot(x,y1,x,y2);
法二
x = fzero(fun,x0) 尝试求出 fun(x) = 0 的点 x。此解是 fun(x) 变号的位置 - fzero 无法求函数(例如 x^2)的根
示例:
fun = @(x)x*x-3*x+1;
x0 = 3; %也可是区间
x = fzero(fun,x0)
f = @myfunction; %通过在函数名称前添加一个 @
符号来为函数创建句柄
(函数句柄是一种存储指向函数的关联关系的 MATLAB® 数据类型。间接调用函数使您在调用该函数时无需考虑调用位置。)
法三
x = fsolve(fun,x0,options)
用中指定的优化选项求解方程options
。使用optimoptions
设置这些选项。
Display:
显示级别(请参阅迭代显示):
'off'
或不'none'
显示任何输出。'iter'
在每次迭代时显示输出,并提供默认退出消息。'iter-detailed'
在每次迭代时显示输出,并给出技术退出消息。'final'
(默认)仅显示最终输出,并提供默认退出消息。'final-detailed'
仅显示最终输出,并给出技术退出消息。法四
sol = solve(prob)
解决最优化问题或方程问题prob
。
sol = solve(prob,x0)``prob从点开始 解决
x0
输出值是表达式,可用eval()转换
2.数值数据
MATLAB® 中的数值类包括有符号和无符号整数、单精度和双精度浮点数。默认情况下,MATLAB 以双精度浮点形式存储所有数值。(您不能更改默认类型和精度。)您可以选择以整数或单精度形式存储任何数值或数值数组。与双精度数组相比,以整数和单精度数组形式存储数据更节省内存。
3.循环及条件语句
for index = values
statements
end
initVal
:endVal
-index
变量从initVal
至endVal
按1
递增,重复执行statements
直到index
大于endVal
。initVal
:step
:endVal
- 每次迭代时按值step
对index
进行递增,或在step
是负数时对index
进行递减。valArray
- 每次迭代时从数组valArray
的后续列创建列向量index
。例如,在第一次迭代时,index = valArray(:,1)
。循环最多执行n
次,其中n
是valArray
的列数,由numel(valArray(1,:))
给定。输入valArray
可属于任何 MATLAB® 数据类型,包括字符向量、元胞数组或结构体。示例:创建一个 10 阶 Hilbert 矩阵
s = 10;
H = zeros(s);
for c = 1:s
for r = 1:s
H(r,c) = 1/(r+c-1);
end
end
4.
5.size函数
先出来个矩阵
A =
dsize = size(A)
[dx,dy] = size(A)
dx为行数,dy为列数
最后推荐个在线Matlab的网站:
(试了好几个在线的网站,发现这个特别好,除了全是英文对我很是难受以外,其他堪称完美,而且免费,当然电脑好的一路推荐安装软件)