MATLAB求解数学模型的基本知识Word文档下载推荐.docx

上传人:b****6 文档编号:20867056 上传时间:2023-01-26 格式:DOCX 页数:11 大小:212.30KB
下载 相关 举报
MATLAB求解数学模型的基本知识Word文档下载推荐.docx_第1页
第1页 / 共11页
MATLAB求解数学模型的基本知识Word文档下载推荐.docx_第2页
第2页 / 共11页
MATLAB求解数学模型的基本知识Word文档下载推荐.docx_第3页
第3页 / 共11页
MATLAB求解数学模型的基本知识Word文档下载推荐.docx_第4页
第4页 / 共11页
MATLAB求解数学模型的基本知识Word文档下载推荐.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

MATLAB求解数学模型的基本知识Word文档下载推荐.docx

《MATLAB求解数学模型的基本知识Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB求解数学模型的基本知识Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。

MATLAB求解数学模型的基本知识Word文档下载推荐.docx

(2)怎样定义变量

例:

symsxy;

x=1;

y=exp(x);

disp(y);

(3)基本运算

加减乘除、指数函数、幂函数

y=x+1;

y=x*1;

y=1/x;

y=x^(-0.5);

2.MATLAB中的基本语法

MATLAB语法与C语言相近,同时它开发了C语言中没有的大量数学函数,便于科研工作的研究。

(1)矩阵的创建与运算

A=[1,2,3;

10,20,30];

A(2,3);

(2)for循环语句

X=zeros(1,10);

%定义一个1行,10列的零矩阵,矩阵名为X

fori=1:

1:

10

X(1,i)=i;

%给矩阵赋值

end

(3)if判定语句

y=3;

ifx==y

disp('

两者相等!

'

);

else

两者不相等!

3.函数创建与运行

MATLAB与C语言一样,可以创建函数文件。

函数可将复杂程序简化,同时可以重复调用,其基本原理与C一致。

保存之后,在工作代码区敲入ds(45),即可将45℃时湿空气的饱和含湿量求解出来。

注意:

M文件的函数名和文件名必须完全一致,否则无法运行。

例一代码:

functionf=ds(ta)

%已知空气温度,计算饱和含湿量

ps=2/15*exp(18.5916-3991.11/(ta+233.84));

%ps

f=0.622*ps/(101-ps);

%ds

 

4.数据的读写

计算结果需要输出到excel文档中处理,习惯上采用fopen函数和fprintf函数执行数据的输出。

fid=fopen('

P001.xls'

'

w'

%打开文档,w代表创建‘可写’状态的文档

2:

100

fprintf(fid,'

%.0f\n'

i);

%把i输入到P001文档中

fclose(fid);

%关闭文档

若想读取数据,可采用xlsread(filename)读取.xls文档中的数据,或用textread(filename)读取.txt文档中的数据。

A=xlsread(‘data001.xls’);

B=textread(‘001.txt’);

A和B均为矩阵。

也可以将数据拷贝到MATLAB中,保存为.MAT格式文件,然后再读取。

此方法数据稳定性高,一般不会出错,但是读取稍微复杂点。

S=load('

001.mat'

%S是一个结构体,并不是数据矩阵。

A=S.data;

%结构体S中的data才是矩阵数据(data是.mat数据名)。

5.怎样实现函数间数据的传递

有时需要将函数的计算结果,代入到其他函数中进行计算,这时需要交换函数的计算结果。

MATLAB传递函数值非常方便,只需直接调用函数名名即可。

functionf=ia(ta)

%计算饱和湿空气的比焓值

A=ds(ta);

%对ds函数进行调用,计算出饱和含湿量

f=1.005*ta+A*(2501+1.86*ta);

%ia

6.模型求解(方程组求解)

常见的方程组有:

线性方程组、非线性方程组、常微分方程组、偏微分方程组等。

常微分方程一般可以转化为非线性方程组,如果不能转化,采用dsolve函数可以解决一般的常微分方程组。

偏微分方程组采用MATLAB基本上无法求解,需要借助CFD软件进行求解(对于多元的一阶偏微分可自己离散化进行求解)。

在此只介绍线性方程组、非线性方程组的求解方法。

(1)线性方程组

线性方程可直接采用矩阵计算,MATLAB求解非常简单。

例如:

代码:

A=[111;

1-10;

011];

%系数矩阵

b=[1;

6;

16];

X=A\b;

disp(X);

%X即为[x,y,z]的矩阵

(2)非线性方程组

很多数学模型都是高维的非线性方程组,计算复杂,变数高。

非线性方程较为复杂,如果方程较少,可采用solve函数求出所有的解。

但当方程较多时,非线性方程有大量的解,solve函数无法求解。

一般采用fsolve函数进行求解,当然fsolve函数也可以求解非线性方程。

functionf=xyz(x)%控制方程的函数,将其保存为M函数文件

f

(1)=x

(1)+x

(2)^2-6;

f

(2)=x

(2)*x(3)+x

(2)-1;

f(3)=x

(1)+x

(2)-x(3);

注释:

x=[x

(1),x

(2),x(3)],x

(1)对应方程中的x,x

(2)对应方程中y,x(3)对应方程中z

functionf=m_xyz()%求解方程组的代码,也保存为M函数文件

x0=[1;

1;

1];

[x,fval]=fsolve(@xyz,x0);

disp(x);

end

将两个M文件保存后(注意:

文件名要与函数相同),在工作代码区输入:

m_xyz即可运行函数。

7.实例——传热单元数法预测换热器出口参数

例一:

(单一的换热器,传热单元数法进行迭代求解)

已知一个GL换热器的传热系数,进出口参数已知,求其出口参数。

进口参数:

气温ta0=45℃,风量200kg/h;

冷却水水温TC0=20℃,冷却水量Mc=600kg/h。

控制方程:

主函数:

functionf=danji()

danji.xls'

x0=[3;

80;

2;

0.5;

0.3;

33];

%赋初值

fprintf(fid,'

cse\tKs\tRc\tNTU\tE1\tta1\ttw1n'

G=200;

%进风质量流量

TC0=20;

%冷却水初温

Mc=420;

%冷却水量

ta0=45;

%入口气温

options=optimset('

Display'

iter'

%显示迭代过程

[x,fval]=fsolve(@NTU_KES,x0,options,ta0,G,TC0,Mc);

%方程求解

tw1=G*(ia(ta0)-ia(x(6)))/(4.2*Mc)+TC0;

%计算出口水温

%2.3f\t%2.3f\t%2.3f\t%2.3f\t%2.3f\t%2.3f\t%2.3f\n'

x,tw1);

fprintf('

cse\tKs\tRc\tNTU\tE1\tta1\ttw1\n'

%2.3f\t%2.3f\t%2.3f\t%2.3f\t%2.3f\t%2.3f%2.3f\n'

控制方程函数:

functionf=NTU_KES(x,ta0,G,TC0,Mc)

%----------参数----------------

Vc=Mc/0.00005/3600/1000;

%水流速

Ua=G/0.154/3600;

%气体流速

Ac=14.1;

%换热面积

%----------冷凝器----------------------------

f

(1)=(ia(ta0)-ia(x(6)))/1.005/(ta0-x(6))-x

(1);

%析湿系数cse

f

(2)=1/(1/(21.1*Ua^0.85*x

(1)^1.15)+1/(216.6*Vc^0.8))-x

(2);

%传热系数Ks

f(3)=x

(1)*G*1.005/(Mc*4.2)-x(3);

%热容比Rc

f(4)=x

(2)*Ac/(x

(1)*G*1.005)-x(4);

%传热单元数NTU

f(5)=(1-exp(-x(4)*(1-x(3))))/(1-x(3)*exp(-x(4)*(1-x(3))))-x(5);

%热交换效率E1

f(6)=ta0-x(5)*(ta0-TC0)-x(6);

%出口气温ta1

辅助函数:

functionf=ds(TA)

ps=2/15*exp(18.5916-3991.11/(TA+233.84));

f

(1)=0.622*ps/(101-ps);

functionf=ia(TA)

A=ds(TA);

f

(1)=1.005*TA+A*(2501+1.86*TA);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1