《MATLAB7 基础教程》课件第4章.ppt

  1. 1、本文档共245页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

创建一个关于偏微分方程的M文件,输入如下代码并保存为pdex1pde.m:

function[c,f,s]=pdex1pde(x,t,u,DuDx)

c=pi^2;

f=DuDx;

s=0;

创建一个关于初值问题的M文件,输入如下代码并保存为pdex1ic.m:

functionu0=pdex1ic(x)

u0=sin(pi*x);创建一个关于边值问题的M文件,输入如下代码并保存为pdex1bc.m:

function[pl,ql,pr,qr]=pdex1bc(xl,ul,xr,ur,t)

pl=ul;

ql=0;

pr=pi*exp(-t);

qr=1;

在命令窗输入:

x=linspace(0,1,20);

t=linspace(0,2,5);m=0;

sol=pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);

u=sol(:,:,1);

surf(x,t,u)

xlabel(‘x’);

ylabel(‘t’);

title(20网格点偏微分方程数值解);

运行结果如图4-19所示。图4-1920网格点偏微分方程数值解4.6.1创建稀疏矩阵

用户可以根据需要建立不同数据类型的稀疏矩阵。所有的MATLAB内置算法、逻辑、索引都适用于稀疏矩阵,甚至稀疏矩阵与满矩阵的混合。如果运算对象是稀疏矩阵,那么返回值也将是稀疏矩阵;如果是满矩阵,那么返回值则是满矩阵。

表4-8给出了一些常用的稀疏矩阵操作函数。4.6稀疏矩阵表4-8常用的稀疏矩阵操作函数创建稀疏矩阵的方法很多,这里将介绍直接创建法、满阵转化法以及对角元素创建法。

1.直接创建法

直接创建法是创建稀疏矩阵最直接的方法。用户可以利用函数sparse进行创建,其调用格式为

S=sparse(i,j,s,m,n)

其中,i、j分别代表行和列索引向量;s代表对应指定索引向量的非零元素值向量;m、n分别代表新建稀疏矩阵的行阶和列阶。

【例】直接创建稀疏矩阵。在命令窗输入:

A=sparse([342],[234],[103040],5,5)

运行结果:

A=

(3,2)10

(4,3)30

(2,4)40

结果的左侧为索引下标,右侧为该处元素的取值。2.满阵转化法

满阵转化法是创建稀疏矩阵的间接方法。用户依然可以利用函数sparse进行创建,其调用格式为

S=sparse(A)

A为待转化的满矩阵。

【例】利用满矩阵创建稀疏矩阵。

在命令窗输入:

A=[130130

023024

00330

210043];

B=sparse(A)运行结果:

B=

(1,1)13

(4,1)21

(2,2)23

(1,3)13

(3,3)33

(2,4)24

(4,4)433.对角元素创建法

这是创建稀疏矩阵的一种特殊方法。用户可以利用函数spdiags进行创建,其调用格式为

S=spdiags(B,d,m,n)

其中,B为满矩阵;d为整数向量,用来指定B的对应列向量在新建稀疏矩阵中的对角位置(如0代表主对角线);m、n分别代表新建稀疏矩阵的行阶和列阶。

【例】利用满矩阵创建对角稀疏矩阵。在命令窗输入:

B=?[21130

31230

413313

514324];

d=[-30];

A=spdiags(B,d,6,4)运行结果:

A=

(1,1)13

(4,1)21

(2,2)23

(5,2)31

(3,3)33

(6,3)41

(4,4)

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档