- 1、本文档共83页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 MATLAB数值计算与符号计算
4.1曲线拟合与插值运算
4.2 数值微积分
4.3 线性方程组求解
4.4 常微分方程的数值求解
4.5 MATLAB符号计算
4.6 级数
4.7 实验五 数值工具箱与符号工具箱的应用
;4.1 曲线拟合与插值运算;2.多项式的运算;(2) 多项式的乘除运算
命令w=conv(u, v)表示多项式u和v相乘,例如在MATLAB中输入
u=[1 2 3 4],v=[10 20 30],c=conv(u, v)
返回
c=
10 40 100 160 170 120
conv指令可以嵌套使用,如conv(conv(a, b), c)。
命令[q, r]=deconv(v, u)表示u整除v。 向量q表示商,向量r表示余, 即有v=conv(u, q)+r。;;(4) 多项式求值
MATLAB中提供了两种求多项式值的函数。
y=polyval(p, x),代数多项式函数求值,若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。
Y=polyvalm(p, x),矩阵多项式求值,要求x为方阵。设A为方阵,p代表多项??x3-5x2+8,那么polyvalm(p, A)的含义是
A*A*A-5*A*A+8*eye(size(A))
而polyval(p, A)的含义是
A.*A.*A-5*A.*A+8*ones(size(A));;返回
A=
16 16 16 16
16 15 -140 -563
16 -140 -2549 -12089
16 -563 -12089 -43779
B=
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0;;例4.2 求多项式x4 + 8x3 - 10的根。
命令如下:
A=[1, 8, 0, 0, -10];
x=roots(A)
返回
x=
-8.0194
1.0344
-0.5075 + 0.9736i
-0.5075 - 0.9736i
再输入
p=poly(x)
返回
p=
1.0000 8.0000 -0.0000 -0.0000 -10.0000;3.曲线拟合;例4.3 用一个6次多项式在区间[0, 2?]内逼近函数;;4.数据插值;;首先在命令窗口输入插值命令interp1(t, p, 1975),估计1975年的人口,返回结果如下:
ans=
214.8585
再利用插值估计1900~2000年每年的人口数,并利用画图命令得出曲线分布。在MATLAB命令窗口输入如下命令语句:
x=1900:1:2000;
y=interp1(t, p, x, spline); %样条插值
plot(t, p, :o, x, y, -r) %带圆圈标记的虚线(:o)为普查数据,红实线
%(-r)为插值数据
所得曲线如图4.2所示。;;;例4.5 利用插值运算对峰值函数peaks插入更多的栅格。
MATLAB程序如下: [X, Y]=meshgrid(-3:.25:3);
Z=peaks(X, Y);
[XI, YI]=meshgrid(-3:.125:3);
ZI=interp2(X, Y, Z, XI, YI);
mesh(X, Y, Z), hold,
mesh(XI, YI, ZI+15)
hold off
axis([-3 3 -3 3 -5 20])
程序运行结果如图4.3所示。 ;图4.3 用二维数据插值得到的peaks函数曲线图
;;;;;;4.2.2 数值积分;;;;;;;4.3 线性方程组求解;;;;例4.12 用直接法求解下列线性方程组。;;例4.13 分别用LU分解、QR分解和Cholesky分解求解例4.12中的线性方程组。;;;例4.14 用Jacobi迭代法求解线性方程组。设迭代初值为0,迭代精度为10-6。;;;4.4 常微分方程的数值求解;例4.17 考虑著名的Rossler微分方程组 ;;;;;;;4.5
文档评论(0)