MATLAB第二讲数值计算和符号计算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

沿第n维按模增大重新排序,k为S元素的 原位置。
ห้องสมุดไป่ตู้13 Matlab基础应用
1.7.2 差分与积分
函数名 diff(X,m,n)
功能
沿第n维求第m阶列向差分。差分是求相邻行(列 )之间的差,结果会减少一行(列)
[fx,fy]=gradient(Z) 对Z求x、y方向的数值梯度。
sum(X)
矩阵各列元素的和。
函数名
功能
max(X)
矩阵中各列的最大值。
min(X)
矩阵中各列最小值。
mean(X)
矩阵中各列平均值。
std(X)
矩阵中各列标准差,指各元素与该列平均 值(mean)之差的平方和开方。
median(X) 矩阵中各列的中间元素。
var(X)
矩阵中各列的方差。
C=cov(X) 矩阵中各列间的协方差。
[S,k]=sort(X,n)
4 13 22 15 0 >>[d,r]=deconv(c,a) d=
450 r=
00000
8 Matlab基础应用
1.4 字符串
(1)字符串用字符数组来存储,以单引号‘ ’来界定。
(2)常见的字符串函数:
length(str):计算字符串的长度; double(str):查看字符串的ASCII码; char(x):将ASCII码转换成字符串形式; strcmp(x,y):比较两字符串是否相同; strcat(s1,s2,…):字符串级连函数; findstr(x,x1):查找x中是否有x1;
(3)执行字符串: eval(str)命令
例1:str1=‘a=2*3’;
eval(str1)
a=6
9 Matlab基础应用
1.5 元胞数组
(1)元胞数组的基本单元是元胞,每个元胞可存放不同类型 (矩阵、数组、字符串等)的数据,以{ }来界定。
(2)元胞数组的创建: 方法1:直接创建 如:A={‘THIS’,[3 4];ones(3),{‘ONE’,‘TWO’}} 方法2:由各元胞创建 如:A(1,1)={‘THIS’} A(1,2)={[3 4]} A(2,1)={ones(3)} A(2,2)={{‘ONE’,‘TWO’}}
cumsum(X,n)
沿第n维求累计和
cumprod(X,n) trapz(x,y) cumtrapz(x,y,n)
Matlab基础应用
沿第n维求累计乘积
梯形法求积分近似于求元素和,把相邻两点数 据的平均值乘以步长表示面积。x为自变量,y 为函数。
用梯形法沿第n维求函数y对自变量x累计积分。
14
第二讲 数值计算和符号运算
Matlab基础应用
1
1.数值计算
1.1 矩阵和数组基础
•创建矩阵 •元素标识 •矩阵操作 •矩阵函数 1.2 矩阵和数组的计算
2 Matlab基础应用
1.3 多项式运算
MATLAB语言把多项式表达成一个行向 量,该向量中的元素是按降幂排列多项式 各项系数的,如果缺某次幂项,则该次幂 项系数为0。
A(s) s p1 s p2
s pn
语法:[r,p,k]=residue(B,A) 其中:B,A分别为分子、分母多项式系数行向量; r为[r1,…rn]留数行向量; p为[p1…pn]极点行向量; k为直项行向量。
6 Matlab基础应用
1.3.4 多项式乘除运算
多项式的乘法
语法:p=conv(p1,p2) 说明:p是多项式p1和p2的乘积多项式。
X=cos
11 Matlab基础应用
1.7 数据分析
遵循的原则:
(1)如果输入是向量,则按整个向量进行 计算。
(2)如果输入的是矩阵,则按列进行运算。
因此:一定要将需要分析的数据按列进行分类。 若已有的矩阵是按行进行分类的,可用矩阵的旋 转使矩阵变成按列进行分类.
12 Matlab基础应用
1.7.1数据统计和相关分析
多项式的除法
语法:[q,r]=deconv(p1,p2) 说明:p1被p2除,商为多项式q,余数式为r。
7 Matlab基础应用
1.3.4 多项式乘除运算(续)
例4: a(x)=x2+2x+3; b(x)=4x2+5x;求c=a(x)*b(x)。
解: >>a=[1 2 3];b=[4 5 0]; >>c=conv(a,b) c=

f(x)=anxn+an-1xn-1+…… a1x+a0
用行向量 p=[an an-1 …… a1 a0]表示。
多项式
行向量
3 Matlab基础应用
1.3.1 多项式求值
可用polyval函数,计算多项式在变量 为特定值的结果。
例2:计算x=0:0.5:3时,p(x)=x3+21x2+20x值。
TU(1).shape=‘sin’; TU(1).position=[0 pi]
TU(2).name=‘曲线2’; TU(2).color=‘blue’
TU(2).shape=‘cos’; TU(2).position=[0 2*pi]
(3)结构数组元素内容的获取:用‘.’号来获取
X=TU(2).shape
例3:p(x)=x3-6x2-72x-27
解: >>p=[1 -6 -72 -27] >>r=roots(p) r =12.1229 -5.7345 -0.3884
5 Matlab基础应用
1.3.3 部分分式展开
利用residue函数来实现部分分式展开。
B(s) r1 r 2 ... rn k(s)
解: >>p1=[1 21 20 0]; >>x=0:0.5:3; >>polyval(p1,x)
0 15.3750 42.0000 80.6250 132.0000 196.8750 276.0000
4 Matlab基础应用
1.3.2多项式求根 ---求方程的解
在MATLAB利用函数:roots
(3)元胞数组元素内容的获取: X=A{2,1} X=[1 1 1; 1 1 1; 1 1 1]
10 Matlab基础应用
1.6 结构数组
(1)结构数组的基本组成是结构,每个结构都包含某一对象的 多个域,以‘.’来标识域。
(2)结构数组的创建:
方法1:TU(1)=struct(‘name’,‘曲线1’,‘color’,’red’,…) 方法2:TU(1).name=‘曲线1’; TU(1).color=‘red’
相关文档
最新文档