Matlab基础入门笔记


  • 概述

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 变量从 initValendVal1 递增,重复执行 statements 直到 index 大于 endVal

  • initVal:step:endVal - 每次迭代时按值 stepindex 进行递增,或在 step 是负数时对 index 进行递减。

  • valArray - 每次迭代时从数组 valArray 的后续列创建列向量 index。例如,在第一次迭代时,index = valArray(:,1)。循环最多执行 n 次,其中 nvalArray 的列数,由 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的网站:

https://octave-online.net/#

(试了好几个在线的网站,发现这个特别好,除了全是英文对我很是难受以外,其他堪称完美,而且免费,当然电脑好的一路推荐安装软件)

参考链接:

https://matlabacademy.mathworks.com/R2019b/cn/portal.html?course=gettingstarted#chapter=7&lesson=1&section=1


文章作者: 古客
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 古客 !
评论
 上一篇
python之不定积分求解 python之不定积分求解
概述 为了解决数学中一些不定积分的求解方便自己做作业,让我们一起学习如何使用python求不定积分吧! 《matlab版点这里》 1.安装 pip3 install sympy 建议使用anaconda,里面有大量的科学包,方便使
2020-03-06
下一篇 
Matlab求定积分的部分方法 Matlab求定积分的部分方法
概述 这次部分的基础代码就不解释了,不了解的可以去看我上次的一篇文章《》,挺详细的,要是还有不懂得就去百度吧! 1.2.3.参考链接: document.querySelectorAll('.github-emoji')
2020-03-03 古客