MATLAB与PDE工具箱.pptx
文本预览下载声明
MATLAB和PDE工具箱
经验分享
卫超
MATLAB
Matrix laboratory,矩阵实验室
MATLAB具有强大的数学计算能力,包含众多现成的数学函数,例如sin(),cos(),exp(),log()等等
随着不断的开发,其作用不仅仅是一个大型的计算器,而是一个分析工具,不仅仅适用于编程人员,部分功能对于编程水平一般的也同样适用,比如后面要说的偏微分方程工具箱
结构
采用大部分MATLAB书籍经典结构:
MATLAB安装
常量变量,数据类型(前三章)
介绍矩阵运算
两大运算类型,数值运算符号运算
绘图和高级绘图
GUI设计简介及各种工具箱简介
数据类型
教科书上给出的是 数组
个人总结为 数 字符 (一维)向量 矩阵
或者说是number string
对于图像处理,GUI设计,数据类型非常重要(主要是数和字符),时常需要数据类型转换,num2str,str2num,double。。。
大多数的时候,初级的数据分析或者仿真都是处理的数--number
矩阵
MATLAB强大之处就是对矩阵的处理,包含很多矩阵运算的函数,求逆,转置,单位阵,三角阵,矩阵四则运算
最经典的矩阵初始化:全1矩阵和全0矩阵ones(M,N),zeros(M,N)
矩阵运算的好处,相当于批处理,简洁方便,速度快,有现成的矩阵理论做指导
运算(计算)分类
按照运算处理对象,可以将MATLAB分为数值运算和符号运算
数值运算,即处理的对象为具体的实实在在的数,具象的,有实际数值内容的变量
符号运算,处理对象为符号变量syms(或者称为系统变量),抽象的
初级只需了解数值运算即可
实例
方法一:数值运算
plot([-3 -1/2],[0 0]);
hold on;
plot([-1/2 1/2],[1 1]);
plot([1/2 3],[0 0]);
plot([-1/2 -1/2],[0 1]);
plot([1/2 1/2],[1 0]);
hold off;
axis equal;
结果1
方法二:符号运算
syms t
f=heaviside(t+1/2)-heaviside(t-1/2);
ezplot(f,[-3 3]);
axis equal;
结果2
分析
数值运算处理离散的点,或者将连续变量分割成离散的点来运算,见下面方法三
符号运算处理连续的符号变量,无须个人将其离散化
符号运算不能比较大小,所以对于分段函数,一般用阶跃函数处理
方法三:还是数值运算
t=-3:6/1000:3;
L=length(t);
f=zeros(1,L);
for i=1:L
if t(i)-1/2 t(i)1/2
f(i)=1;
end
end
plot(t,f);
axis equal;
结果3
高级绘图
绘图里的高级功能
对图像进行处理,加标注等
三维
自建坐标系
GUI设计
Graphical User Interface 图形用户界面
像C语言编写的窗口程序,MFC?
分为编程写出GUI和在GUI设计界面里设计两种方法
相当于自编一个小的工具箱界面
MATLAB工具箱
不许知道底层程序,只需了解对应的工具箱的操作规范,在工具箱条件满足的情况下,输入入口参数,得到出口参数的分析结果
比如语音信号处理工具箱voicebox,偏微分方程工具箱PDEToolbox
PDEToolbox
数学准备工作
三种数理方程
PDEToolbox注意事项
只能解决二维模型,一维的扩成二维,三维的缩成二维,时间维不计算在内
公式类型,只能解决部分偏微分方程,由公式类型决定
边界条件两种,Dirichlet和Neumann
初始条件
例子
细杆导热问题
先确定方程大类
Draw Mode
画图模式,先将处理的区域画出来,二维,方形,圆形,支持多边形,可以手动更改坐标,旋转rotate
例如,对于细杆导热,虽然是一维问题,可以将宽度y虚拟出来,对应于y的边界条件和初始条件按照题意制定
Boundary Mode
PDE Mode
PDE Specification,确定偏微分方程类型
共有四种:
椭圆形Elliptic
抛物型Parabolic
双曲型Hyperbolic
本征型Eigenmodes
Mesh Mode
网格划分,细化
Solve,Plot
如果有初始条件(与t有关),则在Solve的Parameters里有其设定,如果没有初始条件(与t无关),则不必设定
Plot只是确定画图的参数,包括是否动画,是否3D,是否画出等温线,是否有箭头。。。
Save As
保存成M-file,自动生成
显示全部