matlab笔记总结(2)

MATLAB软件及算法实现

一、MATLAB程序设计基础

MATLAB是一款以矩阵为基本运算单位的用途广泛,发展迅速,功能强大的数学与工程计算软件,我们先从认识MATLAB软件开始。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L0C0awT2-1680017551314)(2023-03-08-22-27-48.png)]

主界面上有5个窗口:主窗口,命令窗口,当前目录窗口,工作空间窗口,命令历史窗口,我们主要使用主窗口和命令窗口,其它窗口是辅助性的。命令窗口是我们和系统交互的场所,我们先来看一个实例:

例:计算,即123的45次方。这个问题用MATLAB来解决非常容易,只要在命令窗口中直接输入123^45,然后回车即可,得到的结果为1.1110e+094,表示。

为了进行更为复杂的运算,我们对MATLAB程序设计的一般方法作一点讨论。

1.1 MATLAB的基本操作和矩阵的基本运算

工作空间常用的管理指令有:

(1)who及whos(列出工作空间的所有变量):查询指令

(2)clear:清除工作空间中的所有变量

 clear var1 var2:清除工作空间中的变量var1和var2 
 clc: 清理窗口

(3)save FileName :把全部内存变量保存为Filename.mat文件

 save FileName v1 v2:把变量v1和v2保存为Filename.mat文件
 save FileName v1 v2 –append:把变量v1和v2添加到Filename.mat文件

(4)load FileName :把Filename.mat文件中全部变量调入内存
load FileName v1 v2:把Filename.mat文件中v1 , v2调入内存

2.矩阵的产生

MATLAB的操作对象为矩阵。标量被看作是1×1的矩阵,维行向量或列向量可看作是或维矩阵。
行向量生成基本格式:start: step: end(step缺省时为1)
例如:在命令窗口中提示符>> 后输入,x=1:5,按回车【Enter】后,显示输出结果如下:

x =
1 2 3 4 5

Matlab的每条命令后,若为逗号“,”或无标点符号,则显示命令的结果;若命令后为分号“;”,则禁止显示结果,用“%”来实现注释功能。

利用下面两个函数也可以产生向量。

linspace:线性等分向量,例如,a=linspace(0,2*pi,100)。

logspace:对数等分向量,例如,a=logspace(0,2*pi,100)。

在矩阵的输入中,约定:(1) 元素之间用空格或逗号隔开;

(2) 用中括号方[ ]把所有元素括起来;

(3) 用分号(;)说明行结束。
在命令窗口,输入矩阵时,按Shift+Enter键表示开始输入新的一行,且要求所有的行具有相同的列。
例如:a=[1 2 3; 4,5 6; 7 8,9]
该矩阵一直保存在工作空间,直至被修改。

差分
dx=diff(x)
x为行or列向量时:dx=x(2:end)-x(1:end-1)
x为其他二位数组时:dx=x(2:end,:)-x(1:end-1,:)
dx比x少一个或一行元素

求梯度
FX=gradient(F)

取最小实数
x=realmin

数值求和与近似求积分
Sx=sum(X) %沿列方向求和
St=trapz(x,y) %采用梯形法沿列方向求y关于x的积分
Sx*d=通过sum求近似的数值积分榜 %d为小区间

计算精确度可控数值积分
q=integral(fun,xmin,xmax) %求函数fun在[xmin,xmax]上的精确积分

坐标轴的控制函数
axis([xmin,xmax,ymin,ymax,zmin,zmax])

一元函数在[x1,x2]中的极限
[x,fval,exitflag,outopt]=fminbnd(fun,x1,x2,options)
单纯形法求多元函数极值点
[x,fval,exitflag,outopt]=fminsearch(fun,x0,options)

常微分方程数值解
tspan=[-5,5] %定义范围
[t,Y]=ode45(odefun,tspan,y0)

数值解
fsolve

**
一元函数的零点
[x,fval]=fzero(fun,x0)
解非线性方程组的零点
[x,fval]=fsolve(fun,x0) %x0用来控制精度,即离x0最近的那个根

二项分布B(N,p)的相关命令
pk=binopdf(k,N,p) %N次实验中,事件(以概率p)发生k次的概率
fk=binocdf(k,N,p) %N次实验中,事件(以概率p)发生不大于k次的概率

正态分布N(mu,sigma^2)的相关命令
px=normpdf(x,Mu,Sigma) %服从正态分布的随机变量x的概率密度
fx=normcdf(x,Mu,Sigma) %服从正态分布的随机变量不大于x的概率密度

统计分析命令
min(X) %最小值
max(X) %最大值
mean(X) %平均值

多项式运算
a=[an an-1 … a2 a1]
多项式的根
roots(a)
多项式在x0处的值
polyval(a,0)

多项式拟合
p=polyval(x0,y0,n)

随机数
rand() randn%正态分布 randi%整数均匀分布

猜你喜欢

转载自blog.csdn.net/shaozheng0503/article/details/129827717