导图社区 数学实验
数学实验导图笔记,知识点有MATLAB入门、MATLAB编程与作图、矩阵代数、函数和方程、应用微积分、常微分方程等。
编辑于2021-12-20 02:03:53数学实验(matlab)
第一章MATLAB入门
1.1matlab桌面
M文件和数据文件
脚本文件和工作区
1.2数据和变量
无需定义可直接使用
变量名:字母开头数字下画线
1.3数组及其运算
数组[ ]
同行( 空格或,)
不同(分号或回车)
点运算(.*,./,.^)
a(b,c)b行c列
a(3)查询编址为3的元素
2维时是按照列编址
1.4字符串,元胞和结构体
字符串’‘
()元素,{}具体内容
(元胞)拼接时size(尺寸)相符
组成结构体,字段名须一致
主要命令
clear,save,load,linspace(1:10:3)将1-3等分为9个,length
prod(求积),abs,log,exp,min,max,sqrt,mod(取余)
factorial(阶乘),double(数值),char(字符),
str2num,num2str(数转为字符串),struct2cell(结构体转元胞)
关系逻辑运算find(取“真”的编址),all(检验是否全为真),any(是否存真)
第二章MATLAB编程与作图
2.1程序设计
循环语句
for 变量=数组(:),命令组;end
while 条件式,命令组;end
分支
if 条件一,命令组 1;else if条件二,命令2;....end
switch 变量,case1,命令1;case2,命令2;...otherwise命令k;end
中断n秒(pause(n))
break(跳出循环)
ctrl+c强行停止循环
2.1.2脚本文件
2.1.3函数文件
function [输出变量]=函数名(变量)语句;end
调用:函数名(变量赋值)
2.1.4函数句柄,内联,匿名
句柄:fname=@ab;ab(100)
内联:fun=inline('表达式',自变量名字符串)
匿名:fun=@(自变量)表达式
2.2作图
常用命令
plot(3),fplot,meshgrid,mesh,surf,contour(3)(等高线图)
title,(x,y,z)label,grid(格栅),hold,subplot(子图)
曲线图plot(x,y’线性颜色标记‘),fplot(fun,[a,b]),hold on(保留),hold off
曲面图[x y]=meshgrid(数组,数组),mesh(x,y,z)
主要命令
input,disp,help,imread,look for
feval(函数求值),inline(内嵌函数)
第三章矩阵代数
3.1预备(线性代数)
3.2矩阵代数的MATLAB命令
A.'(转置),共轭转A',AX=b(X=B/A)
zeros(m,n),rand(m,n)(m行n列0-1分布)
trace(A),diag,rank,det,inv,expm(级数和A^n/n!)
[V D]=eig(A)(V:特征值的特征向量(列)D:特征值对角矩阵)
[V J]=jordan(A)相似变换矩阵v^(-1)AV=J
p=poly(A)A的特征多项式的系数向量(入)
3.3线性方程组求解
rref([a,b])化为行最简(a:系数矩阵,b:常数矩阵)
x0=b/a(特解),x=null(a,'r')
3.4投入产出分析
主要命令
zeros,ones,eye(n),trace,diag(对角),rank,det,inv
eig(特征值,特征向量),null(基础解系),poly(特征多项式),jordan(标准型分解)
第四章函数和方程
4.2函数零点,极值和最小二乘拟合的命令
y=polyval(p,x)(p:多项式系数由高到低)
p3=conv(p1,p2)
[p3(商),r(余项)]=deconv(p1,p2)
p=polyfit(x,y,k)(k次多相似拟合,p:降幂系数)
4.2.3 零点
步骤,先画图看零点大致区域fplot(fun,[a,b])
x=fzero(fun,x0或[a,b])(x0附近零点或某一区间零点,只能一个零点)
[x,f,h]=fsolve(fun,x0)(x返回在x0附件的零点,f=fun(x)应趋于0,h>0可靠)
方程组:function f=fun(x);f(1)=……;f(2)=……;……;end(齐次方程)或匿名fun=@(x)[……;……;……];再[x,f,h]=fsolve(@函数名,[x1,x2,……])或[x,f,h]=fsolve(fun,[x1,x2,……初值])
4.2.4极值
min/max(y)
[x,f]=fminbnd(fun,a,b)(x:极小值点,f:在(a,b)内的极小值)
[x,f]=fminsearch(fun,x0)(x于x0附近的极小值点,f为极小值)
4.2.5非线性最小二乘拟合
[c,Q]=lsqcurvefit(fun,c0,x,y,lb,ub)(c:变量,fun(c,x),c0为c的预估值,x,y为样本,Q:误差平方和)
4.3迭代法,线性化拟合
主要命令
polyval(多项式求值),conv,deconv(多项式乘,除),root(根),polyfit(拟合)
fzero(一元函数实根),fslove(方程(组)数值求解),fminbnd(一元函数极值),fminsearch(多元极值),lsqcurvefit(曲线拟合)
第五章应用微积分
5.1微积分基本概念
5.2数值微积分命令
diff(x),diff(x,k)(k次差分),[Fx,Fy]=gradient(表达式,x,y)
z=trapz(x,表达式)(y关于x的积分),z=intergral(fun,a,b)(于(a,b)上积分)
z=intergral2(fun,a,b,cx,dx)
5.3计算:数值微积分
function d=deriv(fname,a,h0,e)(d:数值解,fname=f(x),h0初始步长,e精度要求)
h=h0;d=(fname(a+h)-fname(a-h))/2h(中心差商);d0=d+2e;while abs(d-d0)>e,d0=d;h0=h;h=h0/2;d=(fname(a+h)-fname(a-h))/2h;end end后可在命令行窗口调用derive(fun,a,h0,e)(在a处的导数值)
主要命令
diff(差分),gradient(数值导数和梯度),polyder(多项式求导)
quiver(方向导数),trapz(梯形积分),quadl/integral(高精度积分)
dblquad(矩形二重积分),integral2/3,quad2d(二重积分)
第六章常微分方程
6.1常微分基本概念
6.2解常微分命令
[t,y]=ode45(odefun,[a,b],[y1,y2,……])([a,b]为t的范围,y1,……为初值)
y'=……,再odefun=@(x)……再[t,y]=ode45(odefun,[a,b],[y1,y2,……])
6.3Euler法和刚性方程组
function f=fun(t,y),f(1)=……;f(2)=……;f=f(:);end
主要命令
ode45/23/113/23t(刚性)
deval(微分方程解的求值)
第七章符号计算
7.1符号对象
定义syms x y;
subs(s,x,x0),x=vpa(s)(s的数值结果),x=vpa(s,n)
7.2符号矩阵和函数
fun=symfun(s,[x,y])
相当于定义了符号函数自变量为x,y即会得出fun(x,y)
7.3符号微积分
limit(s,x,a,+'right/left'),symsum/prod(s,n,a,b)(返回s的通项n由a到b的和/积)
diff(s,x,n)s对x的n阶导,taylor(s,x,a,'Order',n)(s在a的n-1泰勒展开)
t=subs(t,[x,y],[a,b])(t中的x,y用a,b代替)
int(s,v,a,b)(s关于变量v从a到b的积分)
7.4符号方程和微分方程
solve(方程/表达式,未知量);syms x positive;再用solve得正解
[未知]=vpasolve([方程/表达式],[未知量],[初值/范围])
s=dsolve('Dy=……','y(0)==','',……,'自变量')/dsolve(diff(f),diff(x)==,……)
7.5便捷函数作图
fplot(@(x)……,[a,b])
符号计算,作图命令
syms,subs(变量替换),factor(因式分解),expand,collect(合并同类项),simplify
funtool(函数计算器),limit(符号极限),diff(导)
taylor(展开),jacobian,solve(解方程),vpasolve(数值解),dsolve(解微分方程)
ezplot(便捷函数),ezmesh,ezsurf,ezcontour
第八章随机模拟和统计分析
8.1概率和统计基本知识
8.2概率和统计的命令
随机数生成
rand(m,n),randn(m,n)(正态),randperm(N)(1,2,……N随机排列,randi(N,m,n)(1,2,……N的m行n列))
[h,p,ci]=ttest(x,mu,alpha,tail)
[[h,p,ci,stats]=ttest[……]
8.3随机模拟(Monte Carlo算法)