高等应用数学问题MATLAB 求解 习题参考解答(薛定宇著)
目录
第1 章计算机数学语言概述2 第2 章MATLAB 语言程序设计基础5 第3 章微积分问题的计算机求解17 第4 章线性代数问题的计算机求解29
第5 章积分变换与复变函数问题的计算机求解43 第6 章代数方程与最优化问题的计算机求解53 第7 章微分方程问题的计算机求解71
第8 章数据插值、函数逼近问题的计算机求解93 第9 章概率论与数理统计问题的计算机求解114 第10 章数学问题的非传统解法127 第A章自由数学语言Scilab 简介136 第1 章计算机数学语言概述
1 在你的机器上安装MATLAB 语言环境,并键入demo 命令,由给出的菜单系统和对话框原型
演示程序,领略MATLAB 语言在求解数学问题方面的能力与方法。 【求解】在MATLAB 提示符>> 下键入demo 命令,则将打开如图1-1 所示的窗口,窗口左侧
的列表框可以选择各种不同组合的演示内容。 图1-1 MATLAB 演示程序界面
1
例如,用户选择MATLAB ! Graphics ! Volume Vlsulization 演示,则将得出如图1-2 所示的
演示说明,单击其中的Run this demo 栏目,则将得出如图1-3 所示的演示界面。用户可以在
该界面下按按钮,逐步演示相关内容,而实现这样演示的语句将在该程序界面的下部窗口中 给出。
2 作者用MATLAB 语言编写了给出例子的源程序,读者可以自己用type 语句阅读一下源程
序,对照数学问题初步理解语句的含义,编写的源程序说明由下表列出。
第1 章计算机数学语言概述3 图1-2 MATLAB 演示程序界面举例 序号文件名程序说明
例1.1 c1ex1.m 利用MATLAB 的符号运算工具箱求解微分问题 例1.2 c1ex2.m 分别利用MATLAB 的符号运算工具箱和数值运算功能求解多项式方程,其中用数值方法得出 的结果有误差
例1.3 c1ex3.m 分别利用MATLAB 的符号运算工具箱和数值运算功能计算Hilbert 矩阵的行列式,其中用数值 方法得出的结果有很大误差
例1.4 c1ex4.m 令x1 = y; x2 = y_,则可以将原来的二阶微分方程转换成
2
一阶微分方程组,然后就可以求解微分
方程的数值解了,原方程是非线性微分方程,故不存在解析解。ode45() 函数可以求解常微分方
程组,而dde23() 可以求解延迟微分方程,或更直观地采用Simulink 绘制求解框图。
例1.5 c1ex5.m 线性规划问题调用最优化工具箱中的linprog() 函数可以立即得出结果,若想求解整数规划问 题,则需要首先安装整数规划程序ipslv mex()。 4 第1 章计算机数学语言概述 图1-3 MATLAB 体视化演示程序界面 第2 章MATLAB 语言程序设计基础
1 启动MATLAB 环境,并给出语句tic, A=rand(500); B=inv(A); norm(A*B-eye(500)),
toc,试运行该语句,观察得出的结果,并利用help 命令对你不熟悉的语句进行帮助信息查
询,逐条给出上述程序段与结果的解释。
【求解】在MATLAB 环境中感触如下语句,则可以看出,求解500
£ 500 随机矩阵的逆,并
求出得出的逆矩阵与原矩阵的乘积,得出和单位矩阵的差,得出范数。一般来说,这样得出
的逆矩阵精度可以达到10?12。
>> tic, A=rand(500); B=inv(A); norm(A*B-eye(500)), toc
3
ans = 1.2333e-012
Elapsed time is 1.301000 seconds.
2 试用符号元素工具箱支持的方式表达多项式f(x) = x5 + 3x4 + 4x3 + 2x2 + 3x + 6,并令
x = s ? 1 s + 1
,将f(x) 替换成s 的函数。
【求解】可以先定义出f 函数,则由subs() 函数将x 替换成s 的函数 >> syms s x
f=x^5+3*x^4+4*x^3+2*x^2+3*x+6; F=subs(f,x,(s-1)/(s+1)) F =
(s-1)^5/(s+1)^5+3*(s-1)^4/(s+1)^4+4*(s-1)^3/(s+1)^3+ 2*(s-1)^2/(s+1)^2+3*(s-1)/(s+1)+6 3 用MATLAB 语句输入矩阵A 和B 矩阵 ① A = 2 664 1 2 3 4 4 3 2 1 2 3 4 1
4
3 2 4 1 3 775; ②
B = 2 664
1 + 4j 2 + 3j 3 + 2j 4 + 1j 4 + 1j 3 + 2j 2 + 3j 1 + 4j 2 + 3j 3 + 2j 4 + 1j 1 + 4j 3 + 2j 2 + 3j 4 + 1j 1 + 4j 3 775
前面给出的是4 £ 4 矩阵,如果给出A(5; 6) = 5 命令将得出什么结果?
【求解】用课程介绍的方法可以直接输入这两个矩阵 >> A=[1 2 3 4; 4 3 2 1; 2 3 4 1; 3 2 4 1] A = 1 2 3 4
6 第2 章MATLAB 语言程序设计基础 4 3 2 1
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库MATLAB习题答案(清华大学)在线全文阅读。
相关推荐: