MATLAB数值计算
MATLAB数值计算和符号运算
贵州大学实验报告
学院: 计算机科学与技术 专业:网络工程 班级:
姓名 学号 实验组
实验时间 指导教师 成绩
实验项目名称 MATLAB数值计算和符号运算
实验目的 1.掌握并理解Maltab在数值计算的基本用法。
2.理解matlab在工程领域解题的一般过程。
3. 掌握Matlab符合运算的基本方法。
实验环境 计算机一台(带有MATLAB7.0以上的软件环境)。
实验内容 1.线性系统方程:分别使用左除(\)和LU分解求解下面系统方程的解:
377251463cbbacba
2. 使用quad和trapz求解503/dxxex的数值积分,并与其解析解相比较(解析解利用符号运算进行求解,参考函数int);(要求:使用quad求积分时,请分别用函数文件和匿名函数的方式求解)
3.求下面函数在[0.5,4]区间内的过零点。(用fzero函数)
4.求常微分方程的数值解
1)0(1)0(02)1(22yyydxdyxdxyd
5.对边长为3m的正方形铁板,在4个角剪去相等的正方形以制成方形无盖水槽,问何种剪法可使水槽的容积最大?
6. 设有400万元资金,要求4年内使用完,若在一年内使用资金x万元,则可得效益 x万元(效益不能再使用),当年不用的资金可存入银行,年利率为10%。试制定出资金的使用计划,以使4年效益之和为最大。
实验代码 第一题
a=[3 6 4;1 5 0;0 7 7]
b=[1;2;3]
x=a\b
[L,U]=lu(a)
x=U\(L\b)
第二题
function y=fun(x)
y=x.*exp(-(x./3));
Q1=quad('fun',0,5)
Q2=quad(@(x)(x.*exp(-(x./3))),0,5)
x=0:0.1:5
y=x.*exp(-(x./3))
(完整word版)含答案《MATLAB实用教程》
《MATLAB实用教程 3版》 版权所有 翻版必究
- 1 - 第二章 MATLAB语言及应用实验项目
实验一 MATLAB数值计算
三、实验内容与步骤
1.创建矩阵
987654321a
(1)直接输入。
(2)用from:step:to方式。
(3)用linspace函数。
(4)使用特殊矩阵函数,并修改元素。
zeros、ones、randn、eye。
2.矩阵的运算
(1)利用矩阵除法解线性方程组。
12224732258232432143214321421xxxxxxxxxxxxxxx
将方程表示为AX=B,计算X=A\B。
(2)利用矩阵的基本运算求解矩阵方程。已知矩阵A和B满足关系式A-1BA=6A+BA,计算矩阵B。
其中7/10004/10003/1A,
Ps: format rat
a=[1/3 0 0;0 1/4 0;0 0 1/7];
b=inv(a)*inv(inv(a)-eye(3))*6*a
(3)计算矩阵的特征值和特征向量。
已知矩阵1104152021X,计算其特征值和特征向量。
x=[1 2 0;2 5 -1;4 10 -1]
[v,d]=eig(x)
%验证特征值和牲向量与该矩阵的关系
x*v
v*d
a=[1 2 3;4 5 6;7 8 9]
a=[1:3;4:6;7:9]
a=[linspace(1,3,3);linspace(4,6,3);linspace(7,9,3)]
zeros(3,3)
a(1:9)=[1 4 7 2 5 8 3 6 9] ones(3,3)
第六章MATLAB数值计算
第六章MATLAB数值计算
6-1多项式的运算
6 —1-1多项式的生成和表达
1. 多项式的表达
在MATLAB环境下多项式是用向量的形式表达的。 向量最右边的元素表示多项式的 0
阶,向左数依次表示多项式的第 1阶、第2阶、第3阶…。
例如多项式5x4 3x2 2x 1表示为:[5 0 3 2 1]。
2. 多项式的生成 语法:
P=ploy (MA) 说明:
1. 若MA为方阵,则生成的多项式 P为方阵MA的特征多项式。
若MA为向量,则向量和多项式满足这样一种关系
MA r1 r2 |||rn ,生成的多项式为:
x r1 x r2 x r3 x rn a0xn a1xn 1
3. 直接输入的方式生成多项式。
例6-1
利用方阵M=[5 6 7;8 9 1;11 12 13 ]生成一个多项式(为方阵 M的特征多项式) 程序设计:
>> clear
M=[5 6 7 ; 8 9 1;11 12 13];
P=poly(M ) ; %产生多项式的向量表达式
Px=poly2str ( P,'x') ; %生成常见的多项式表示形式
P,Px 运行结果:
P =
1.0000 —27.0000 90。0000 54。0000
Px =
xA3 - 27 xA2 + 90 x + 54
例6-2
利用向量A= : 2 3 4 5]生成一个多项式。
程序设计: 2.
呆 2 |||an 1x an 〉 >clear
A=[2 3 4 5] ; P=poly(A);
Px=poly2str (P, 'x') ;
P,Px 运行结果 :
P =
1 — 14 71 — 154 120
Px =
xA4 — 14 xA3 + 71 xA2 — 154 x + 120
6—1-2 多项式的乘除
语法:
A. c=conv ( a, b)
B. [q,r ] =decony( c, a) 说明:
1. a、b 和 c 分别是多项式的向量表示形式。 个多项式的除法运算 .
孤立波的matlab的数值计算和模拟
tu
孤立波的matlab的数值计算和模拟
1 前言
孤立波简称孤波,是一种特殊的波,又是不难在自然界中出现的波,具有保持其波形和速度不变的特点。能发生强烈的相互作用,但相互作用后仍能保持其各自特点、形状、速度不变或只有一些位相改变的那些孤波称为孤子。孤波被称为自然界的相干结构,混沌运动所呈现的是非线性系统中奇妙的无序状态,相干结构则反映了非线性系统中的惊人有序性,因而孤立子理论的产生与发展是非线性偏微分方程研究中的一个重要组成部分。虽然随着人们研究的深入,在通信领域,采用光孤子技术大大提高了通信容量和通信距离,但作为非线性的两个重要的不同部分,混沌确为更多人所熟知。这可能是因为孤立子的研究和学习需要更高的数学和物理知识,对数学物理方法的要求也比较高。但本文将以matlab数值模拟为主要方法,简单形象得讲述KdV方程的性质和特点,并以此论证理论推导的结果。
2 KdV方程的数值模拟
2.1 孤波运动的模拟
1895年荷兰数学家科特韦格(D.J.Korteweg)和德弗里斯(G.de.Vries)在浅水和小振幅假定下得到了浅水波单向运动方程。KdV方程经过变换,可得到各中不同的形式。为了方便,本文取以下形式:
06xxttuuuu;
此方程的孤波解为*:
)];(2[sec2,xu02xctxchct)(
因为KdV方程的行波解都为同向运动的,则在进行单个孤子子运动的模拟时,我们把KdV方程的初始条件设为:
利用差分法:
hff2f11';
21-1''hff2-ff;
;22f32112'''hffff
在matlab6.5下编程模拟,程序1如下:
dt=0.0001;dx=0.1;%传递给方程参数的值
c=dt/dx^3;d=dt/dx;%定义参数
x=-6:0.1:25;%设置x的插值点
n=length(x);%定义函数 y(:,1)=2*(sech(x')).^2;%初始条件
基于matlab的经典米氏散射系数的数值计算
基于matlab的经典米氏散射系数的数值计算
经典的米氏散射理论是描述微观粒子在外界电磁场作用下发生散射的重要理论之一。该理论由维斯米斯·米氏于1916年提出,对于理解和研究电磁波与物质相互作用具有深远的意义。本文将通过使用Matlab进行经典米氏散射系数的数值计算,以生动、全面、有指导意义的方式介绍这一过程和结果。
首先,我们需要了解一些关于经典米氏散射理论的基本知识。根据该理论,当一个电磁波与一个微观粒子相互作用时,电磁波的能量将部分散射到不同的方向,这种散射过程可以用散射截面描述。而米氏散射截面是描述散射中相互作用粒子的大小和性质的重要物理量。
在Matlab中计算经典米氏散射系数的过程如下:首先,定义散射体的形状和物理性质,包括尺寸、材料、电荷分布等信息。其次,确定入射光的特性,包括波长、功率、入射角等参数。然后,根据散射物体的物理性质和入射光的特性,使用经典的电磁波理论计算散射截面。最后,通过一系列数值计算和分析,得到经典米氏散射系数的数值结果。
在具体计算中,我们可以使用Matlab的强大的数值计算和图形绘制功能。首先,通过定义散射物体的形状和物理性质,可以使用Matlab的几何建模工具创建相应的模型。然后,可以使用Matlab的电场计算工具,根据入射光和散射物体的特性,计算出入射光与散射体的相互作用。接着,使用经典的电磁波理论计算散射截面,并将结果用Matlab的图形绘制工具展示出来。最后,通过对计算结果进行分析和解释,得到经典米氏散射系数的数值结果,并与已知的理论结果进行比较和验证。
通过以上过程,我们可以利用Matlab对经典米氏散射系数进行准确而高效的数值计算。这不仅有助于深入理解经典米氏散射理论,还可以在实际应用中提供重要的指导意义。例如,在纳米技术和光学传感器领域,我们可以通过计算经典米氏散射系数,更好地设计和优化相应的器件和系统。
综上所述,本文通过使用Matlab进行经典米氏散射系数的数值计算,以生动、全面、有指导意义的方式介绍了该过程和结果。通过对其工作原理和实际应用的讨论,我们可以更好地理解经典米氏散射理论,并将其应用于相关领域的研究和开发中。同时,本文也展示了Matlab在物理建模和数值计算中的重要作用,为研究者提供了一个有用的工具和参考。
实验3 MATLAB 数值计算(2)
实验3 MATLAB 数值计算(2)
目的和要求:
(1) 了解多项式的运算。
(2) 熟练掌握MATLAB二维曲线的绘制。
内容和步骤:
1.多项式的运算式的运算
(1) 多项式的运算。
已知表达式G(x)=(x-4)(x+5)(x2-6x+9), 展开多项式形式;求导;并计算当x在[0,20]范围变化时G(x)的值;计算出G(x)=0的根。
多项式相乘 conv;
求导 polyder;
计算零点,即求根 roots
解:
展开为多项式
求导:
求零点:
(2) 多项式的拟合和插值。
x在[0,20]范围内,计算多项式y=x4-5x3-17x2+129x-180 的值y;并根据x和y进行二阶、三阶和四阶拟合。并绘出拟合曲线。对多项式y进行插值,计算在5.5处的值。
多项式拟合 p=ployfit(x,y,n)
插值 yi=interp1(x,y,xi,’method’)
2.绘制二维曲线
绘制的图形窗口分割为一行两列,窗口左上角画一正弦曲线,y=sin(2t),t:[0.2π];窗口右上角画3条衰减的单边指数曲线y=e-t , y=e-2t,和 y=e-3t, t:[0,2]。在图上添加标题,将3条曲线用不同的线型,并添加图例。
MATLAB应用 MATLAB数据及运算
1 第2章 MATLAB数据及运算
2.1 变量及其操作
一、变量命名规则
1.变量名、函数名对字母大小写是敏感的
myfile与MyFile表示不同的变量
sin是MATLAB定义的正弦函数名,但SIN、Sin都不是
2.变量名的第一个字符必须是英文字母
3.变量名最多可包含63个字符(英文、数字和下划线)
4.变量名中不能包含空格、标点
my_exemple12是合法的变量名,12exemple、_exemple12、my exemple12、my.exemple12是非法变量名
二、MATLAB默认的预定义变量
每当MATLAB启动时,不经定义和赋值就会产生一些变量,称为MATLAB默认的预定义变量
这些变量都可以重新赋值。但最好不要对这些变量名重新赋值
预定义变量 含义 预定义变量 含义
ans 计算结果的缺省变量名 nargin 函数输入参数个数
eps 机器零阈值(机器的浮点运算误差限) narout 函数输出参数个数
Inf或inf 无穷大,如1/0 realmax 最大正浮点数
i或j 虚数单位 realmin 最小正浮点数
pi 圆周率 lasterr 存放最新的错误信息
NaN或nan 不是一个数(Not a Number),如0/0,∞/∞ lastwarn 存放最新的警告信息
例1 用键盘在MATLAB指令窗中输入以下内容
eps
eps —— 机器的浮点运算误差限。PC机上eps的默认值为 2.2204×10-16 ,若某个量的绝对值小于eps,则可以认为这个量为0。
例2 用键盘在MATLAB指令窗中输入以下内容
1/0,1.e1000,log(0)
Inf —— 无穷大量 + ∞ 的MATLAB表示,也可以写成inf 。同样地,- ∞
可以表示为 - Inf 。在 MATLAB 程序执行时,即使遇到了以 0 为除数的运算,也不会终止程序的运行,而只给出一个“除0”警告,并将结果赋成Inf ,这样的定义方式符合 IEEE 的标准。从数值运算编程角度看,这样的实现形式明显优于C语言。
matlab中除法
- 1 - matlab中除法
MATLAB(矩阵实验室)是由MathWorks公司开发的一种商业数值计算软件,主要用于科学计算、数据分析和可视化。MATLAB中的除法包括特殊除法(如内积,比例因子除法和分布式除法)和普通除法。
一、特殊除法
(1)内积除法:MATLAB中的内积除法可以简单地使用点乘运算符“. *”来实现,即可以将两个矩阵中的每一个元素相除,而不需要考虑矩阵的大小。
(2)比例因子除法:MATLAB中的比例因子除法也使用点乘运算符,即可以使用“./”来实现。比例因子除法是将两个矩阵的每一个元素相除,并归一化到[0,1]范围内。
(3)分布式除法:MATLAB中的分布式除法其实就是将两个非0矩阵(必须为正常矩阵)中的每一个元素相除,并取负数。
二、普通除法
MATLAB中的普通除法使用除号“/”来实现,即可以将两个矩阵求商。但这种方法在处理矩阵运算时会有一定的局限性,比如只能处理实数和整数,且这里的除法也是没有两个矩阵的大小计算的。
三、优势
MATLAB中的除法具有计算的灵活性及简单性。MATLAB中的特殊除法可以获得更详细的矩阵信息,特别适用于更复杂的数据处理。此外,普通除法更新般简单,经常在数学计算中使用。
四、缺点 - 2 - MATLAB中的除法也存在一些缺点。首先,特殊除法不能处理负数,因为负数不能处理比例因子和分布式除法的计算。其次,普通除法也会有一定的局限性,如处理复数及矩阵大小的计算时,易产生误差。
五、总结
MATLAB中的除法具有很多优势,可以简化矩阵计算,并可以从矩阵中获取更多详细的信息。但是也存在一些缺点,要想正确地处理矩阵计算,需要正确选择使用特殊除法还是普通除法。
matlab计算公式
matlab计算公式
MATLAB是一种强大的数学计算软件,广泛应用于科学与工程领域。它提供了丰富的计算功能,包括数值计算、矩阵运算、绘图以及数据分析等。本文将介绍MATLAB中常用的计算公式及其使用方法。
一、数值计算
1. 四则运算
在MATLAB中,进行加减乘除等基本运算非常简单。例如,要计算两个数的和,可以使用如下公式:
```matlab
sum = a + b;
```
其中,`a`和`b`是待计算的数值,`sum`则为计算结果。
2. 幂运算
如果需要进行幂运算,可以使用`^`操作符,例如:
```matlab
result = x ^ n;
```
这个公式表示将`x`的`n`次方赋值给`result`。
3. 开方运算
开方运算可以通过调用`sqrt`函数来实现:
```matlab
root = sqrt(x);
```
`x`为待开方的数值,`root`为计算结果。
二、矩阵运算
在MATLAB中,矩阵运算也是常见且重要的功能之一。
1. 矩阵相加
要计算两个矩阵的和,可以使用如下公式:
```matlab
result = matrix1 + matrix2;
```
其中,`matrix1`和`matrix2`是待相加的矩阵,`result`为计算结果。
2. 矩阵相乘
矩阵相乘可以使用`*`操作符,例如:
```matlab
result = matrix1 * matrix2;
```
这个公式表示将`matrix1`和`matrix2`进行乘法运算,并将结果赋值给`result`。
3. 转置矩阵
如果需要计算矩阵的转置,可以使用`'`符号,例如:
```matlab
transpose = matrix';
```
这个公式表示将`matrix`进行转置操作,并将结果赋值给`transpose`。
三、绘图功能
MATLAB提供了丰富的绘图功能,可以用于生成各种类型的图形,如折线图、散点图、柱状图等。
3MATLAB数值计算
第三节 MATLAB数值计算
数学计算分为数值计算和符号计算。这两种计算的区别是:数值计算的表达式、变量中不得包含未定义的自由变量,而符号计算中则允许。本节主要介绍MATLAB的数值计算。
一、多项式
1.多项式的表达与创建
MATLAB用行矢量表示多项式系数,其中各元素按降幂顺序排列,如果多项式表示为:
p(x)=a0xn+ a1xn-1+…+ an-1x+an
则系数矢量为:p=[a0 a1 …an-1 an] 。
例如:p(x)= x3-2x-5,其系数矢量为:p=[1 0 -2 -5]。
如果把根矢量表示为:ar=[ar1 ar2 … arn],则根矢量与系数矢量之间满足下面的关系式:
(x- ar1)(x- ar2) …(x- arn)= a0xn+ a1xn-1+…+ an-1x+an
多项式系数矢量通过调用函数p = poly(ar)产生。
例1 将多项式(x-8)(x-3)(x-6)表示为系数形式(即求出系数矢量)。
a=[8 3 6]; % 写成根矢量
pa=poly(a) % 求出系数矢量
ppa=poly2sym(pa) % 表示成符号形式
ezplot(ppa,[-40,40]) % 绘图
输出结果为:pa =
1 -17 90 -144
ppa =
x^3-17*x^2+90*x-144
图1
说明:(1) n个元素的根矢量求出的多项式系数矢量的元素一定是n+1个。
(2) 函数poly2sym把多项式系数矢量表达成符号形式的多项式,缺省情况下自变量符号为x,可以指定其他自变量,如poly2sym(pa,’t’),则表达为t的多项式。
(3) 使用简单绘图函数ezplot可以直接绘制符号形式多项式的曲线,其中第二个输入参数是由方括号内的两个数值组成的,给定了绘图范围。若省略该参数,系统将自动按缺省范围绘图。
