科学计算与MATLAB语言

刘卫国 蔡旭晖 吕格莉 何小贤

目录

  • 1 初识MATLAB
    • 1.1 课程导入
    • 1.2 单元测验
  • 2 MATLAB基础知识
    • 2.1 MATLAB系统环境
    • 2.2 MATLAB数值数据
    • 2.3 变量及其操作
    • 2.4 MATLAB矩阵的表示
    • 2.5 矩阵元素的引用
    • 2.6 MATLAB基本运算
    • 2.7 字符串处理
    • 2.8 单元测验
  • 3 MATLAB矩阵处理
    • 3.1 特殊矩阵
    • 3.2 矩阵变换
    • 3.3 矩阵求值
    • 3.4 矩阵的特征值与特征向量
    • 3.5 稀疏矩阵
    • 3.6 单元测验
  • 4 MATLAB程序流程控制
    • 4.1 顺序结构程序
    • 4.2 用if语句实现选择结构
    • 4.3 用switch语句实现选择结构
    • 4.4 用for语句实现循环结构
    • 4.5 用while语句实现循环结构
    • 4.6 函数文件的定义与调用
    • 4.7 函数的递归调用
    • 4.8 函数参数与变量的作用域
    • 4.9 单元测验
  • 5 MATLAB绘图
    • 5.1 二维曲线
    • 5.2 绘制图形的辅助操作
    • 5.3 其他形式的二维曲线
    • 5.4 三维曲线
    • 5.5 三维曲面
    • 5.6 图形修饰处理
    • 5.7 交互式绘图工具
    • 5.8 单元测验
  • 6 数据分析与多项式计算
    • 6.1 数据统计分析
    • 6.2 多项式计算
    • 6.3 数据插值
    • 6.4 数据插值应用举例
    • 6.5 曲线拟合
    • 6.6 曲线拟合应用举例
    • 6.7 单元测验
  • 7 数值微积分与方程求解
    • 7.1 数值微分与数值积分
    • 7.2 线性方程组求解
    • 7.3 线性方程组应用举例
    • 7.4 非线性方程求解与函数极值计算
    • 7.5 常微分方程数值求解
    • 7.6 常微分方程应用举例
    • 7.7 单元测验
  • 8 MATLAB符号计算
    • 8.1 符号对象
    • 8.2 符号微积分
    • 8.3 级数
    • 8.4 符号方程求解
    • 8.5 单元测验
  • 9 MATLAB图形用户界面设计
    • 9.1 图形窗口与坐标轴
    • 9.2 曲线与曲面对象
    • 9.3 图形用户界面设计方法
    • 9.4 用户界面设计工具
    • 9.5 APP设计工具
    • 9.6 图形用户界面应用举例
    • 9.7 单元测验
  • 10 Simulink系统仿真
    • 10.1 Simulink仿真基础
    • 10.2 子系统的创建与封装
    • 10.3 S函数的设计与应用
    • 10.4 Simulink仿真应用举例
    • 10.5 单元测验
  • 11 外部程序接口
    • 11.1 在Excel中使用MATLAB
    • 11.2 MATLAB文件操作
    • 11.3 在其他语言程序中读写MATLAB的数据文件
    • 11.4 在MATLAB中调用其他语言编写的程序
    • 11.5 在其他语言程序中调用MATLAB函数
    • 11.6 单元测验
  • 12 课外阅读
    • 12.1 阅读
数据插值应用举例

视频


拓展学习

机动车刹车距离问题

v=20:10:150;

vs=v.*(1000/3600);

d1=10.*vs;

d2=[3.15,7.08,12.59,19.68,28.34,38.57,50.4,63.75,78.71,95.22,113.29,132.93,154.12,176.87];

d3=10;

d=d1+d2+d3;

vi=20:1:150;

di=interp1(v,d,vi,'spline');

x=abs(di-120);

[y,i]=sort(x);

vi(i(1))

plot(vi,di,vi(i(1)),di(i(1)),'rp')

>> j=find(vi==125);

>> di(j)

>> plot(vi,di,125,480.14,'rp')


沙盘制作问题

x=0:200:1800;

y=x';

z=[2000,2000,2001,1992,1954,1938,1972,1995,1999,1999;2000,2002,2006,1908,1533,1381,1728,1959,1998,2000;

   2000,2005,2043,1921,977,897,1310,1930,2003,2000;1997,1978,2009,2463,2374,1445,1931,2209,2050,2003;

   1992,1892,1566,1971,2768,2111,2653,2610,2121,2007;1991,1875,1511,1556,2221,1986,2660,2601,2119,2007;

   1996,1950,1797,2057,2849,2798,2608,2303,2052,2003;1999,1999,2079,2685,3390,3384,2781,2165,2016,2000;

   2000,2002,2043,2271,2668,2668,2277,2049,2003,2000;2000,2000,2004,2027,2067,2067,2027,2004,2000,2000];

surf(x,y,z);

x1=0:100:1800;

y1=x1';

z1=interp2(x,y,z,x1,y1,'spline');

surf(x1,y1,z1);

x2=0:50:1800;

y2=x2';

z2=interp2(x1,y1,z1,x2,y2,'spline');

surf(x2,y2,z2);

contour(x2,y2,z2,12)