当前位置:文档之家› 胡良剑 matlab 数学实验常用指令整理

胡良剑 matlab 数学实验常用指令整理


第四章
1、多项式 P63 y=polyval (p, x) 求得多项式 p 在 x 处的值 y,x 可以是一个或多个点 p3=conv(p1,p2) 返回多项式 p1 和 p2 的乘积 [p3,r]=deconv(p1,p2) p3 返回多项式 p1 除以 p2 的商, r 返回余项 x=roots(p) 求得多项式 p 的所有复根. p=polyfit(x,y,k)用 k 次多项式拟合向量数据(x, y), 返回多项式的降幂系数 2、函数零点 P65 ( 1) 、x=fzero(Fun, x0) 一元函数求实根:返回一元 函数 Fun 的一个零点, 其 中 Fun 为函数 (三种形式) x0 为标量时, 返回函数在 x0 附近的零点; x0 为区间[a, b]时, 返回在[a,b]中的零点 (2) 、[x,f,h]=fsolve(Fun, x0), 方程(组)数值求解 P x: 返回一元或多元函数 Fun 在 x0 附近的一个零点,其中 x0 为迭代初值向量; f:返回 Fun 在 x 的函数值, 应该接近 0;
5、矩形区域重积分 P87 z=dblquad(Fun,a,b,c,d) 求得二元函数 Fun(x,y) 的重积分, a、b 为变量 x 的下、上限;c、d 为变量 x 的下、上限. z=triplequad(Fun,a,b,c,d,e,f) 求 得 三 元 函 数 un(x,y,z) 的 重 积分 , 格 式 类 似 dblquad。
第五章
1、数值差分 P84 n 维向量 x=(x1, x2, , xn) 的差分定义为 n-1 维向量 x = (x2-x1, x3-x2, , xnxn-1)。 diff(x) 如果 x 是向量,返回向量 x 的差分,如果 x 是矩阵,则按各列作差分。 diff(x, k) k 阶差分,即差分 k 次 例:x=[1 2 3 4 5]; diff(x), diff(x,2) A=[1 2;3 4; 5 6],diff(A), diff(A,2) 2、数值导数和梯度 P84 q=polyder(p) 求得由向量 p 表示的多项式导函数的向量表示 q. 例:p=[1 2 3 4];q=polyder(p) Fx=gradient(F,x) 返回向量 F 表示的一元函数沿 x 方向的导函数 F ’(x).其中 x 是与 F 同维数的向量. [Fx,Fy]=gradient(F,x,y) 返回矩阵 F 表示的二元函数的数值梯度 (F ’x,F’y), 当 F 为 m×n 矩阵时, x,y 分别为 n 维和 m 维的向量. 3、梯形积分法 z=trapz(x,y) 返回积分的近似值,其中 x 表示积分区间的离散化向量; y 是与 x 同维数的向量,表示被积函数 。 4、高精度数值积分 P86 quad(Fun,a, b) 自适应步长 Simpson 积分法求得 Fun 在区间[a, b]上的定积分 z=quadl(Fun,a,b) 高精度 Lobatto 积分法.格式同 quad. 注意:trapz,quad,quadl 均不能用于求解反常积分以及一些奇异积分。
h: 返回值如果大于 0,说明计算结果可靠,否则计算结果不可靠。 3、函数极值 P68 min(y) 返回向量 y 的最小值 max(y) 返回向量 y 的最大值 [x,f]=fminbnd(fun,a,b) x 返回一元函数 y=f(x)在区间[a,b]内的局部极小值点, f 返回局部极小值,fun 为函数句柄或匿名函数或 inline 函数。 [x,f]=fminsearch(fun,x0) x 返回多元函数 y=f(x)在初始值 x0 附近的局部极小值 点,f 返回局部极小值. x, x0 均为向量。 注意:在使用 fsolve 和 fminserrch 等指令时,多变量必须合写成一个向量变量, 如用 x(1),x(2) 4、最小二乘法 P69 c= lsqnonlin (Fun,c0) 使用迭代法搜索最优参数 c. 其中 Fun 是以参数 c(可以是向量)为自变量的函数, c0 为参数 c 的近似初值(与 c 同维向量), 表示误差向量 y-f(c,x)(x, y 为数据向量), 作为迭代初值。 c=lsqcurvefit(Fun2,c0, x, y) 从外部输入数据, 这里 Fun2 为两变量 c 和 x 的函数 f(c, x)。
第一章
1、数组表示方法 P9 a=[1,2,3;4,5,6;7,8,9] 或者 a=[1 2 3 456 7 8 9]; 2、等差数列构造一维数组 P9 b=0:3:10(0 3 6 9) b=0:10(0-10,增量默认为 1) b=linspace(0,10,4)(将区间[0,10]等分为 4-1=3 份) 3、数组的提取和拼接 P10 b([1,end]) 提取数组 b 的首尾元素 d=a(2,1:3) 提取 a 的第二行,1-3 列,可简写为 d=a(2,:) [s,t]=max(b) 》s=10 t=4,s 为最大值,t 为最大值的编址 4、数组运算 P12 数组加减 A+B,A-B 数组乘数组 A.*B 数组除法 左除 A.\B,右除 B./A 数与数组的混合运算 k+A,k-A,k*A,A*k,A.^k,k.^A,k./A 注意:点运算只有点乘、点乘方、点除三个,表示元素之间的运算。 左除 A.\B 是 B 除以 A 中对应元素,右除则反之 5、数学函数 P14 exp 指数函数 log 自然对数 ln log10 以 10 为底的对数
ห้องสมุดไป่ตู้
第七章
1、符号对象的定义 P117 s=sym(str) 将数值或字符串 str 转化为符号对象 s, 数值为有理表示; s= sym(num,’d’) 将数值表达式转化为符号表达式,数值用十进制表示; syms var1 var2 定义 var1, var2, 为符号变量 subs(s, old, new) 将符号表达式 s 中的符变量 old 用 new 代替 2、计算精度和数据类型转换 P118 digits(n) 将数值计算精度设为 n 位; x=vpa(s) 求 s 的数值结果 x=vpa(s,n) 采用 n 位计算精度求 s 的数值结果 double(s) 将符号对象转化为双精度数值 char(s) 将符号对象转化为字符串 数据类型转换图指令详解 P118 3、符号函数计算 P120 factor(expr) 对 expr 作因式分解 expand(expr) 将 expr 展开 collect(expr,v) 将 expr 按变量 v 合并同类项 simple(expr) 将 expr 化简 g=finverse(f,v) 求函数 f(v)的反函数 g(v) fg=compose(f, g) 求函数 f(v)和 g(v)的复合函数 f(g(v)) [n,d]=numden(expr) 分式通分,n 返回分子,d 返回分母 funtool 函数分析图形界面 4、极限和级数及微分 P122 limit(s,x,a) 返回符号表达式 s 当 x->a 时的极限 limit(s,x,a,’right’) 返回 s 当 x->a 时的右极限 limit(s,x,a,’left’) 返回 s 当 x->a 时的左极限 symsum(s,n,a,b) 返回符号表达式 s 表示的通项当自变量 n 由 a 到 b 的和 diff(s,x) 返回符号表达式 s 对 x 的导函数 diff(s,x,n) 返回 s 对 x 的 n 阶导函数。 taylor(s,n,a,x) 返回符号表达式 s 在 a 点 aylor 展开到 n-1 次式.自变量为 x taylortool Taylor 分析图形界面 jacobian(f,x) 返回向量函数 f 的 Jacobian 矩阵 5、积分 P124 int(s) 符号表达式 s 的不定积分.
第三章
1、特殊矩阵生成 P46 zeros(m,n) m 行 n 列的零矩阵; ones(m,n) m 行 n 列的元素全为 1 的阵;
eye(n) n 阶单位矩阵; rand(m,n) m 行 n 列[0,1]上均匀分布随机数矩阵 2、矩阵分析 P48 rank(A) 秩 det(A) 行列式; inv(A) 逆矩阵; null(A) Ax=0 的基础解系; 例:A=[1 2 3; 4 5 6; 7 8 9], rank(A), det(A), inv(A), null(A) 3、特征值与标准形 P49 eig(A) 方阵 A 的特征值 [V, D]=eig(A)返回方阵 A 的特征值和特征向量。 其中 D 为的特征值构成的对角阵, 每个特征值对应的 V 的列为属于该特征值的一个特征向量。 [V, J]=jordan(A) 返回 A 的相似变换矩阵和约当标准形 例:A=[1 2; 3 4]; t= eig(A), [V, D]=eig(A) 注意:矩阵是一个二维数组,它的加减数乘运算与数组运算是一致的,但有两点 需要注意:1、对于乘法、乘方和除法等三种运算,矩阵运算与数组运算符及含 义都不同。矩阵运算按线性变换定义,符号中无点;数组运算按对应元素运算定 义,使用点运算。2、数与矩阵加减、矩阵除法在数学上没有一一,MATLAB 中 定义了这两类运算,数与矩阵加减与数组相同,A\B 和 B/A 分别表示 AX=B 和 XA=B 的解。 4、判断一个矩阵是否可以相似对角化,求出其特征向量,若线性无关即可。
inline 内嵌函数 feval 函数求值 使用格式 fun=inline(‘expr’,arg1,arg2,……) fun=@(arg1,arg2,……)expr,这里 expr 为函数表达式,arg1,arg2 为自变量名字符 串。 如,计算 s
n
n 1
100
1
2
>>fname=inline(‘sum(1./(1:m).^2)’,’m’) >>feval(fname,100) 二、作图 1、曲线图 P31 plot(x,y) 以数据(x(i), y(i))为节点的折线图, 其中 x, y 为同长度的向量 fplot(‘fun’,[a,b]) 函数 fun 在区间[a,b] 上的函数图 plot3(x,y,z) 空间曲线图, 其中 x, y, z 为同长度的向量 图形导出: file→Save; Edit →Copy figure 折线图:plot([1 2 3 4],[2 1 8 3]) 曲线图: fplot(‘sin(x)’,[0,2*pi]) 曲线图: x=0:pi/50:2*pi; y=sin(x); plot(x,y) 2、曲面图 P33 [x,y]=meshgrid(xa,ya)当 xa, ya 分别为 m 维和 n 维行向量, 得到 x 和 y 均为 n 行 m 列矩阵。meshgrid 常用于生成 X-Y 平面上的网格数据。 mesh(x,y,z) 绘制网面图,是最基本的曲面图形命令,其中 x,y,z 是同阶矩阵,表示曲 面三维数据。 surf(x,y,z) 绘制曲面图,与 mesh 用法类似 contour(x,y,z) 绘制等高线图,与 mesh 用法类似。 contour3(x,y,z) 绘制三维等高线图,与 mesh 用法类似。 3、一些图例和说明 P34 title(‘字符串’) 图像标题说明; xlabel,ylabel,zlabel 坐标轴 x,y,z 说明; hold on/hold off 保留/释放现有图形 axis([a,b,c,d]) 确定坐标轴范围 a<x<b,c<y<d axis([a,b,c,d,e,f]) 定制 3 维坐标轴范围 figure\close 开\关一个新图形窗口 subplot(m,n,k) 将图形窗口分为 m*n 个子图,指向第 k 幅图 legend(str1,str2, ...) 图例
相关主题