Matlab与数学计算
本文最后更新于322 天前,其中的信息可能已经过时,如有错误请发送邮件到3196812536@qq.com

前言

这是一篇笔记。主要用于介绍MatLab的作用以及其作为数学工具的使用方法。

目的是总结学校课件复习自用,但是不可能像相关的书籍那么系统全面,力求简单明了。都是一些最基础的用法,更近一层的深入需要特定的环境和实例。

MatLab是一种高级技术计算语言和交互式环境,用于算法开发、数据可视化、数据分析和数值计算。使用场景有:复杂数学问题的统计与计算,国赛美赛时的数学建模,模电的绘制与测试,嵌入式系统开发的编写,应用程序的开发等等。

Matlab是Matrix Laboratory的缩写,其设计初衷是用于科学和工程领域的计算和仿真。国内外绝大多数的高校都会用到。主要用于学术环境

但是作为一款高级计算软件,个人评价是:MatLab就好像需要用涂卡笔作答一样——存在,但是可能可以被2B铅笔替代。

正文

下面正式开始,虽然官方发布过MatLab Primer指导用书,但毕竟是纯英文的。就不附带链接了。

基本函数

clear——Delete all variables in the current Workspace
clc——Clear the Command Window without deleting assigned variables
who——查看现有变量
whos——查看变量细节
help——查看特定函数的帮助
doc——调用MATLAB帮助中心

自然对数e——用exp(1)替代,exponential
余数——rem(x),remainder after division
共轭复数——conj(x),complex conjugate

%——格式化操作符
f——转换字符
\n——换行
%.2f——表示将浮点数数值格式化为带有两位小数的字符串

向量

0维数组是标量(scalar),1维数组是向量(vector),二维数组是矩阵(matrix)

索引向量的函数
length(x)——返回向量中数的个数,
v‘——返回转置向量(比如行列向量转换),
v(i)——返回向量的第i个数

构造向量的函数
等间隔向量——开始值:步长:终止值 或linspace(StartValue,EndValue,PointNumber)都能实现。比如-10:1:10或linspace(-10,10,21)输出[-10,-9,-8,…,0,1,2,…,10]。

矩阵

FunctionMeaning
eye(m,n)生成对角线为1,其余为0的m-n单位矩阵。Return an m-by-n matrix with 1 on the main diagonal。
eye(n)生成对角线为1,其余为0的正方形单位矩阵。Return an n-by-n square identity matrix。
zeros(m,n)Return an m-by-n matrix of zeros
ones(m,n)Return an m-by-n matrix of ones
rand(m,n)返回在0-1间随机的m-n矩阵。Return an m-by-n matrix of random numbers between 0 and 1。
magic(n)用于生成幻方矩阵。Use help command to see its meaning by yourself。
构造矩阵的函数

索引矩阵的函数
假设一个5行6列的矩阵M
M(2,:)——M的第二行
M(:,2)——M的第二列
M(2:4,:)——M的第二到四行
sum(sum(M))——M中所有元素的和
M(2,:)= [] ——删除M第二行的元素
size(M)——返回矩阵M的维度,即[5,6]

操作矩阵的函数
A‘——转置矩阵,
inv(A)——逆矩阵(与原始矩阵相乘得到单位矩阵),
det(A)——矩阵的行列式(线性变换下所引起的缩放因子,[a,b;c,d] det(A)=ad-bc)
A^2——加上inv,det只能适用于方阵
A*B——两个矩阵的点乘,大小必须相同
A.*B——AB大小相同,矩阵中逐个元素相乘
A.^B——逐个元素求幂

画图

plot(x,y,’r:’)

需要用到上面操作矩阵的函数,最简单的示例,注意这里的“.”不能落下!

x = linspace(-2,2);
y = x.^3+2*x.^2-4*x-5;
plot(x,y)

“r:”代表规则,

对于叠加图,在r:部分附上不同的规则

plot(x,y1,'r--')
hold on
plot(x,y2,'r:')
hold off

逻辑表述

逻辑数组
0代表错误,1代表正确,
比如,a=1:5
b=a>=3,将结果赋值给b,b=00111
a(b)使用b作为显示元素,a=345

for while结构的迭代嵌套等,示例代码

claer;clc
n = 10;
A = zeros(n,n);
for i = 1:n
    for j = 1:n
        A(i,j) = n*(i-1)+j;
    end
end
disp(A)
index = ~isprime(A);
A(index) = 0;
disp(A)

自定义函数

通过MATLAB事先内置的函数,进行重构

与依赖input output等用户交互的脚本不同,用户自定义函数一般在脚本中直接使用

函数变量的命名不能使用空格,最好写在脚本的开头并附带注释

尾声

对于MATLAB实在不知道能说些什么,就当我说了一堆废话。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
隐藏
变装