(整理)Matlab基本用法小结

合集下载

Matlab常用操作、绘图等小知识

Matlab常用操作、绘图等小知识

Matlab 小知识1、翻转fliplr(左右)、flipud(上下)fftshift()上下左右fftshift(,1)对行(row)同时操作,引起列的变化(不是简单的上下) 类似fpliudfftshift(,2)对列(column)同时操作,引起行的变化(不是简单的左右) 类似fplilreg:a=[1 2 3;4 5 6; 7,8 9];fliplr=321654987flipud=789456123fftshift=978312645fftshift(a,1)=789123456fftshift(a,2)=3126459782、data:Naz*Nrg,行为方位向,列为距离向fft(,[],1)同时对一列进行fft,在SAR数据处理中为方位向FFT,变换到距离时域,方位频域(距离-多普勒域)== fft()fft(,[],2)同时对一行进行fft,在SAR数据处理中为距离向FFT,变换到距离频域,方位时域。

== fft(x.’).’fft(,[],1) + fft(,[],2) = fft2()3、conj(共轭) conv(卷积)4、imagesc,colormap(gray)5、转置:“’” 对于复数为共轭转置,若要只转置不取共轭,则应该是“.’”对于实数,“’”即可实现转置。

6、对于有复数j的程序,在循环中切忌再次使用j作为循环变量,同理,不可再次定义变量j进行其他运算。

7、算法优化:a) sinc(1:100)比单独计算sinc(1)…sinc(100)快N倍;b) 如果遇到a^2*b^2,则可以先计算(a*b)再对乘积求平方;8、eps 计算机最小正数,在pc机上,它等于2e-52。

9、保存的指令格式(1)save 工作间中的所有变量保存在磁盘上名为matlab.mat 的文件中。

(2)save [文件名] [变量名] 将指定的变量保存在指定文件中,如:save temp x y z 把x,y,z 这三个变量保存在文件temp.mat 中。

Matlab用法简介

Matlab用法简介

量对应元素的运算
x.*y=[x1*y1 x2*y2 x3*y3] (乘积) x./y=[x1/y1 x2/y2 x3/y3] (右除,右 边的y做分母) x.\y=[y1/x1 y2/x2 y3/x3] (左除,左 边的x做分母) x.^5=[x1^5 x2^5 x3^5] (乘幂) 2.^x=[2^x1 2^x2 2^x3] x.^y=[x1^y1 x2^y2 x3^y3]
左除“ \ ”:
求矩阵方程AX=B的解;( A 、B的行要保持一致) 解为 X=A\B; 当A为方阵且可逆时有X=A\B=inv(A)*B;
右除“ / ”:
求矩阵方程XA=B的解 (A 、B的列要保持一致) 解为 X=B/A , 当A为方阵且可逆时有X=B/A=B*inv(A)
矩阵的运算(左除和右除)
1. meshgrid指令:生成网格点
观察meshgrid指令的效果。 程序:
a=-3;b=3;c=-3;d=3;n=10; x=linspace(a,b,n); y=linspace(c,d,n); [X,Y]=meshgrid(x,y); plot(X,Y,'+')
观察结果
2. 计算函数值
3. 绘图指令

两个坐标系,用于绘制不同尺度的函数。
绘制平面曲线(线型、点形和颜色的控制)
plot(x,y,‘颜色+线型+点形’) plot(x,y,‘颜色+线型+点形’,x,y,‘颜 色+线型+点形’,… ) 句柄图形和 set 命令改变属性值,可套 用:


h=plot(x,y), set(h,‘属性’,属性值,‘属性’,属性值,…) 或plot(x,y,'属性','属性值')设置图形对象 的属性。

MATLAB语言的基本使用方法

MATLAB语言的基本使用方法

MATLAB语⾔的基本使⽤⽅法实验⼀ MATLAB 语⾔的基本使⽤⽅法1. 实验⽬的1) 了解MATLAB 程序设计语⾔的基本特点,熟悉MATLAB 软件运⾏环境。

2) 掌握创建、保存、打开⽂件及数据的⽅法,掌握设置⽂件路径的⽅法。

3) 掌握变量、函数等有关概念,具备初步的将⼀般数学问题转化为对应计算机模型并进⾏处理的能⼒。

2. MATLAB 基础知识2.1 MATLAB 程序设计语⾔简介MATLAB ,Matrix Laboratory 的缩写,是由MathWorks 公司开发的⼀套⽤于科学⼯程计算的可视化⾼性能语⾔,具有强⼤的矩阵运算能⼒。

与⼤家常⽤的Fortran 和C 等⾼级语⾔相⽐,MATLAB 的语法规则更简单,更贴近⼈的思维⽅式,被称之为“草稿纸式的语⾔”。

MATLAB 软件主要由主包、仿真系统(simulink )和⼯具箱(toolbox )三⼤部分组成。

2.2. MATLAB 界⾯简介下⾯我们主要对MATLAB 基本界⾯进⾏介绍。

如图 1-1所⽰,命令窗⼝包含标题栏、菜单栏、⼯具栏、命令⾏区、状态栏、垂直和⽔平波动条等区域。

标题栏菜单栏⼯具栏命令⾏区状态栏垂直和⽔平滚动条图 1-1 MATLAB 基本界⾯——命令窗⼝1) 菜单栏菜单栏中包括File 、Edit 、View 、Web 、Window 和Help 六个菜单项。

这⾥着重介绍File 项。

File 项是数据输⼊/输出的接⼝,包括10个⼦项,这⾥重点介绍其中的5个⼦项:New: 新建⽂件项。

有四个选择: M File(.M ,⽂本格式的MATLAB 程序⽂件,可以直接通过⽂件名的⽅式在MATLAB 环境下解释运⾏); Figure(图形);Model(仿真模型⽂件)和GUI(可视化界⾯⽂件)。

Open: 打开所有MATLAB⽀持的⽂件格式,系统将⾃动识别并采⽤相应的程序对⽂件进⾏处理。

例如, 打开⼀个.m⽂件,系统将⾃动打开M⽂件编辑器对它进⾏编辑。

matlabset函数用法

matlabset函数用法

matlabset函数用法Set函数是MATLAB中的一个用于设置图形对象属性的函数。

它可以用于改变各种图形对象的外观和行为。

以下是关于MATLAB Set函数用法的详细介绍:一、基本概念:2.图形对象可以是图形窗口中的图形对象,也可以是MATLAB绘图函数返回的句柄。

3.可以同时设置多个属性。

二、语法格式:set(handle, property1, value1, property2, value2, ...)其中,handle表示要设置属性的图形对象句柄,可以是单个对象句柄或对象句柄数组。

property表示要设置的属性名称,可以是字符串或属性名称的缩写。

value表示要设置的属性值,可以是字符串、数值或函数句柄。

三、使用示例:1.设置线型:set(handle, 'LineStyle', value)或set(handle, 'LineStyle', value1, 'LineWidth', value2)其中,handle为图形对象句柄,'LineStyle'为要设置的属性名称,value为属性值。

示例:设置线型为虚线:set(gcf, 'LineStyle', '--')设置线型为实线,线宽为2:set(gca, 'LineStyle', '-', 'LineWidth', 2)2.设置颜色:set(handle, 'Color', value)或set(handle, 'Color', [R, G, B])示例:设置线条颜色为红色:set(handle, 'Color', 'r')设置填充颜色为蓝绿色:set(handle, 'FaceColor', [0, 1, 1])3.设置透明度:set(handle, 'FaceAlpha', value)或set(handle, 'EdgeAlpha', value)示例:设置填充透明度为0.5:set(handle, 'FaceAlpha', 0.5)设置边框透明度为0.8:set(handle, 'Label', value)示例:set(handle, 'Label', '数据1')set(gca, 'XLabel', 'X轴')5.设置图形对象的其他属性:set(handle, property1, value1, property2, value2, ...)示例:设置标题:set(gca, 'Title', '图形标题')设置坐标轴范围:set(gca, 'XLim', [0, 10], 'YLim', [0, 20])四、设置对象数组的属性:1.设置相同属性值:set(handle_array, 'property', value)其中,handle_array为图形对象句柄数组,'property'为要设置的属性名称,value为属性值。

如何使用Matlab解决数学问题

如何使用Matlab解决数学问题

如何使用Matlab解决数学问题使用Matlab解决数学问题引言:数学作为一门基础学科,广泛应用于各个学科领域。

而Matlab作为一款数学软件,拥有强大的计算能力和丰富的函数库,成为了数学问题解决的得力工具。

本文将介绍如何使用Matlab解决数学问题,并通过实例来展示其强大的功能和灵活性。

一、Matlab的基本使用方法1. 安装和启动Matlab首先,我们需要从官方网站下载并安装Matlab软件。

安装完成后,打开软件即可启动Matlab的工作环境。

2. 变量和运算符在Matlab中,变量可以用来存储数据。

我们可以通过赋值运算符“=”将数值赋给一个变量。

例如,可以使用“a=5”将数值5赋给变量a。

Matlab支持常见的运算符,如加、减、乘、除等,可以通过在命令行输入相应的表达式进行计算。

3. Matirx和向量的操作Matlab中,Matrix和向量(Vector)是常用的数据结构。

我们可以使用方括号将数值组成的矩阵或向量输入Matlab,比如“A=[1 2; 3 4]”可以创建一个2x2的矩阵。

4. 函数和脚本Matlab提供了丰富的内置函数和函数库,可以通过函数来解决各种数学问题。

同时,我们还可以自己编写函数和脚本。

函数用于封装一段可复用的代码,而脚本则是按照特定的顺序执行一系列的命令。

二、解决线性代数问题1. 线性方程组求解Matlab提供了“solve”函数用于求解线性方程组。

例如,我们可以使用“solve([2*x + y = 1, x + 3*y = 1], [x, y])”来求解方程组2x + y = 1和x + 3y = 1的解。

2. 矩阵运算Matlab提供了丰富的矩阵运算函数,如矩阵的加法、乘法、转置等。

通过这些函数,我们可以快速进行矩阵运算,解决线性代数问题。

三、解决数值计算问题1. 数值积分对于某些无法解析求解的积分问题,Matlab可以通过数值积分方法求得近似解。

Matlab提供了“integral”函数用于数值积分,我们只需要给出被积函数和积分区间即可。

matlab函数dir用法

matlab函数dir用法

matlab函数dir用法MATLAB函数dir用法MATLAB是一种强大的数学软件,它提供了许多函数来处理文件和文件夹。

其中一个非常有用的函数是dir函数。

dir函数可以列出指定文件夹中的所有文件和子文件夹,并返回它们的名称、日期、大小和属性等信息。

在本文中,我们将介绍dir函数的用法和一些实际应用。

dir函数的基本用法dir函数的基本语法如下:dir('folder_path')其中,folder_path是要列出文件和文件夹的文件夹路径。

例如,要列出当前文件夹中的所有文件和文件夹,可以使用以下命令:dir('.')这将返回一个结构体数组,其中包含当前文件夹中的所有文件和文件夹的信息。

每个结构体包含以下字段:- name:文件或文件夹的名称- folder:文件夹路径- date:最后修改日期- bytes:文件大小(以字节为单位)- isdir:如果是文件夹,则为1;否则为0- datenum:最后修改日期的序列号例如,以下命令将列出当前文件夹中的所有文件和文件夹,并显示它们的名称和大小:files = dir('.');for i = 1:length(files)if ~files(i).isdirfprintf('%s\t%d bytes\n', files(i).name, files(i).bytes);endenddir函数的高级用法除了基本用法之外,dir函数还有一些高级用法,可以更好地满足实际需求。

以下是一些常见的高级用法:1. 列出指定文件类型的文件有时候,我们只需要列出指定类型的文件,例如所有的MAT文件或所有的图像文件。

可以使用通配符来实现这一点。

例如,以下命令将列出当前文件夹中所有的MAT文件:dir('*.mat')2. 列出子文件夹中的文件有时候,我们需要列出指定文件夹中的所有文件,包括子文件夹中的文件。

MATLAB课程总结

MATLAB课程总结一、常用命令1)clc 清除命令窗口所有信息并将光标移至窗口左上角2)whos 显示内存中工作变量及其信息3)clear 从内存中清除变量和函数.4)type 显示指定文件的内容5)edit 打开程序编辑器,编写或修改M文件6)figure 创建或返回指定的图形窗口7)hold 保持当前图形窗口中图形8)format 设置数据输出格式二、常用函数1)exp 指数函数2)log 自然对数函数3)sqrt 平方根函数4)abs 求模(绝对值)5)fix 向零方向舍入6)Rem/mod 求余7)roots 求多项式全部零点8)poly 由零点反求多项式9)polyval 计算多项式函数值10)polyfit 数据多项式拟合三、矩阵操作1)eros 创建全“0”数组2)ones 创建全“1”数组3)eye 创建单位矩阵4)rand 创建均匀随机数矩阵5)linspace 创建一维等差数6)meshgrid 创建二维网格点矩阵7)inv 求逆矩阵8)eig 求矩阵特征值及特征向量9)diag 生成对角矩阵命令10)det 求方阵行列式四、数据处理1)size 求矩阵的维数2)length 求向量维数3)find 寻找非零元素的索引值4)max 求最大值5)min 求最小值6)mean 求平均值7)sum 求向量全体元素之和8)prod 求向量全体元素之积9)hist 计算统计直方图数据五、图像命令(1)基本绘图函数plot 绘制二维线性图形和两个坐标轴plot3 绘制三维线性图形和两个坐标轴fplot 在制定区间绘制某函数的图像 fplot(‘f’,区域,线型,颜色)loglog 绘制对数图形及两个坐标轴(两个坐标都为对数坐标)semilogx 绘制半对数坐标图形semilogy 绘制半对数坐标图形线型颜色线型y 黄色 . 圆点线 v 向下箭头g 绿色 -. 组合 > 向右箭头b 蓝色 + 点为加号形 < 向左箭头m 红紫色 o 空心圆形 p 五角星形c 蓝紫色 * 星号 h 六角星形w 白色 . 实心小点 hold on 添加图形r 红色 x 叉号形状 grid on 添加网格k 黑色 s 方形 - 实线d 菱形 -- 虚线 ^ 向上箭头可以用subplot(3,3,1)表示将绘图区域分为三行三列,目前使用第一区域。

matlab中line的用法

Matlab中line的用法一、简介在M at la b中,l ine是一个常用的绘图函数,用于绘制直线或曲线。

本文将介绍l in e函数的基本用法以及一些常见的参数设置。

二、基本用法l i ne函数的基本用法如下:l i ne(X,Y)其中,X和Y分别是表示线段或曲线的横坐标和纵坐标向量。

它们可以是相同长度的向量,也可以是不同长度的向量,但需要保证至少有两个坐标点。

li ne函数将根据这些坐标点绘制出对应的线段或曲线。

三、常见参数设置除了基本的用法外,l i ne函数还可以通过一些参数的设置来实现更多的绘图效果。

以下是一些常见的参数设置:1.颜色可以通过指定参数'c o lo r'来设置线条的颜色。

例如:l i ne(X,Y,'co lo r','re d')上述代码将线条的颜色设置为红色。

除了红色,还可以使用其他常见的颜色名称,如'blu e'、'g re en'等。

此外,还可以通过RG B值来指定颜色,例如'co lo r',[0.50.50.5]`表示灰色。

2.线型可以通过指定参数'l i ne st yl e'来设置线条的类型。

例如:l i ne(X,Y,'li ne sty l e','--')上述代码将线条的类型设置为虚线。

除了虚线,还可以使用其他常见的线型,如'-'表示实线,':'表示点线,'-'表示短线等。

可以通过指定参数'l i ne wi dt h'来设置线条的粗细。

例如:l i ne(X,Y,'li ne wid t h',2)上述代码将线条的粗细设置为2个单位。

可以根据需要调整粗细。

4.标记点可以通过指定参数'm a rk er'来设置线条上的标记点。

matlab中mod函数用法

matlab中mod函数用法
在MATLAB中,`mod`函数用于计算两个数的余数。

其基本语法是:
```matlab
M = mod(A, B)
```
其中,`A`和`B`是两个实数或整数,`M`是`A`除以`B`的余数。

一些需要注意的点:
1. 如果`B`是0,MATLAB会报一个除以零的警告。

2. `mod`函数对负数也有效。

例如,`mod(-5, 3)`的结果是-2,因为-5除以3的余数是-2。

3. 对于非整数输入,`mod`函数的行为可能会有点出乎意料。

例如,
`mod(, )`的结果是,而不是-。

这是因为MATLAB首先将两个数都四舍五入到最接近的整数,然后进行取模运算。

例子:
```matlab
A = 10;
B = 3;
M = mod(A, B); % M = 1,因为10除以3的余数是1 ```
希望这能帮助你理解如何在MATLAB中使用`mod`函数!。

matlab-程序语句的应用(循环结构)

一、简介MATLAB是一个强大的数学软件,可以用于进行数值计算、数据分析、图形可视化和编程等。

其中,循环结构是编程中的重要部分,可以帮助我们重复执行某个特定的任务。

本文将介绍MATLAB中的循环结构的应用,包括for循环、while循环和嵌套循环等。

二、for循环1. 基本语法和用法for循环是一种常见的循环结构,可以根据指定的次数重复执行某个操作。

其基本语法如下:```matlabfor i = 1:10执行的操作end```其中,i是循环变量,1:10表示循环的范围。

在每次循环中,i的值会从1逐步增加到10。

2. 示例下面是一个使用for循环计算1到10的累加和的示例:```matlabsum = 0;for i = 1:10enddisp(sum);```三、while循环1. 基本语法和用法while循环是另一种常见的循环结构,可以在指定条件为真时重复执行某个操作。

其基本语法如下:```matlabwhile condition执行的操作end```其中,condition是循环的条件。

只有当condition为真时,循环才会执行。

2. 示例下面是一个使用while循环计算1到10的累加和的示例:```matlabsum = 0;i = 1;while i <= 10i = i + 1;enddisp(sum);```四、嵌套循环1. 基本语法和用法嵌套循环是指在一个循环结构内部嵌套另一个循环结构。

这样可以实现更复杂的循环操作。

其基本语法如下:```matlabfor i = 1:3for j = 1:3执行的操作endend```在嵌套循环中,外部循环每执行一次,内部循环就会完整执行一轮。

2. 示例下面是一个使用嵌套循环打印九九乘法表的示例:```matlabfor i = 1:9for j = 1:ifprintf('d*d=d ', j, i, i*j);endfprintf('\n');end```五、总结循环结构是MATLAB编程中的重要部分,可以帮助我们实现重复性的任务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(3) 字符串与字符串矩阵MATLAB的字符串是由单引号括起来的。

如可以使用下面的命令赋值>> strA='This is a string.'多个字符串可以用 str2mat() 函数构造出字符串矩阵。

如 B=str2mat(strA, 'ksasaj','aa');字符串变量可以由下表中的命令进行操作:(4) 单元数据结构用类似矩阵的记号将给复杂的数据结构纳入一个变量之下。

和矩阵中的圆括号表示下标类似,单元数组由大括号表示下标。

>> B={1,'Alan Shearer',180,[100, 80, 75; 77, 60, 92; 67, 28, 90; 100, 89,78]}B =[1] 'Alan Shearer' [180] [4x3 double]访问单元数组应该由大括号进行,如第 4 单元中的元素可以由下面的语句得出>> B{4}ans =100 80 7577 60 9267 28 90100 89 78(5) 结构体MATLAB的结构体有点象 C 语言的结构体数据结构。

每个成员变量用点号表示,如 A.p 表示 A 变量的 p 成员变量。

获得该成员比 C 更直观,仍用 A.p 访问,而不用 A->p。

用下面的语句可以建立一个小型的数据库。

>> student_rec.number=1;student_='Alan Shearer';student_rec.height=180;student_rec.test=[100, 80, 75; 77, 60, 92; 67, 28, 90; 100, 89, 78]; >> student_recstudent_rec =number: 1name: 'Alan Shearer'height: 180test: [4x3 double]其中 test 成员为单元型数据。

删除成员变量可以由 rmfield() 函数进行,添加成员变量可以直接由赋值语句即可。

另外数据读取还可以由 setfield 和getfield 函数完成。

(6) 类与对象类与对象是MATLAB 5.* 开始引入的数据结构。

在MATLAB手册中定义了一各很好的类 -- 多项式类。

该例子值得细读,去体会类和对象的定义,重载函数编写等信息。

事实上,在实际工具箱设计中,用到了很多的类,例如在控制系统工具箱中定义了 LTI (线性时不变系统) 类,并在此基础上定义了其子类:传递函数类 TF, 状态方程类 SS, 零极点类 ZPK 和频率响应类 FR。

举例:我们将通过一个例子来介绍类的构造。

在MATLAB语言使用手册中给出了一个很有代表性的例子:多项式类的建立问题。

假设我们想为多项式建立一个单独的类,重新定义加、减、乘及乘方等运算,并定义其显示方式。

那么建立一个类至少应该执行下面的步骤:(这个例子更详细的情况请参考MATLAB手册)∙首先应该选定一个恰当的名字,例如这里的多项式类可选择为 polynom。

∙以这个名字建立一个子目录,目录的名字前加 @。

对本例来说,即应该在当前的工作目录下建立 @polynom 子目录,而这个目录无需在MATLAB路径下再指定。

∙编写一个引导函数,函数名应该和类同名。

定义类的使用方法:function p = polynom(a)if nargin == 0p.c = []; p = class(p,'polynom');elseif isa(a,'polynom'), p = a;else,p.c = a(:).'; p = class(p,'polynom');end可以看出,本函数分三种情况加以考虑:① 如果不给输入变量,则建立一个空的多项式;② 如果输入变量 a 已经为多项式类,则将它直接传送给输出变量 p;③ 如果 a 为向量,则将此向量变换成行向量,再构造成一个多项式对象。

∙如果想正确地显示新定义的类,则必需首先定义 display() 函数,并对新定义的类重新定义其基本运算。

对多项式来说,我们可以如下定义有关的函数:∙要改变显示函数的定义,则需在此目录下重新建立一个新函数display()。

这种重新定义函数的方法又称为函数的重载。

显示函数可以如下地重载定义。

function display(p)disp(' '); disp([inputname(1),' = '])disp(' '); disp([' ' char(p)]); disp(' ');注意,这里应该定义的是 display() 而不是 disp()。

∙从上面的定义可见,显示函数要求重载定义 char() 函数,用于把多项式转换成可显示的字符串。

该函数的定义为function s=char(p)if all(p.c==0), s ='0';elsed=length(p.c)-1; s=[];for a=p.c;if a~=0;if~isempty(s)if a>0, s=[s, ' + '];else, s=[s, ' - ']; a = -a; endendif a~=1 | d==0, s=[s, num2str(a)];if d>0, s=[s, '*']; endendif d>=2, s=[s, 'x^', int2str(d)];elseif d==1, s=[s 'x']; endendd=d-1;end, end∙仔细研究此函数,可以发现,该函数能自动地按照多项式显示的格式构造字符串。

比如,多项式各项用加减号连接,系数与算子之间用乘号连接,而算子的指数由 ^ 表示。

再配以显示函数,则可以将此多项式以字符串的形式显示出来。

∙双精度处理:双精度转换函数的重载定义是很简单的。

function c = double(p)c = p.c;∙加运算:两个多项式相加,只需将其对应项系数相加即可。

这样,加法运算的重载定义可由下面的函数实现。

注意,这里要对 plus() 函数进行重载定义。

function p=plus(a,b)a=polynom(a); b=polynom(b);k=length(b.c)-length(a.c);p=polynom([zeros(1,k) a.c]+[zeros(1,-k) b.c]);同理,还可以重载定义多项式的减法运算:function p=minus(a,b)a=polynom(a); b=polynom(b);k=length(b.c)-length(a.c);p=polynom([zeros(1,k) a.c]-[zeros(1,-k) b.c]);∙乘法运算:多项式的乘法实际上可以表示为系数向量的卷积,可以由conv() 函数直接获得。

故可以如下重载定义多项式的乘法运算。

function p=mtimes(a,b)a=polynom(a); b=polynom(b); p=polynom(conv(a.c,b.c));∙乘方运算:多项式的乘方运算只限于正整数乘方的运算,其 n 次方相当于将该多项式自乘 n 次。

若 n=0,则结果为 1。

这样我们就可以重载定义多项式的乘方运算为:function p=mpower(a,n)if n>=0, n=floor(n); a=polynom(a); p=1;if n>=1,for i=1:n, p=p*a; endendelse, error('Power should be a non-negative integer.')end∙多项式求值问题:可以对多项式求值函数 polyval() 进行重载定义。

function y=polyval(a,x)a=polynom(a); y=polyval(a.c,x);定义了此类之后,我们就可以方便地进行多项式处理了。

例如我们可以建立两个多项式对象 P(s)=x^3+4x^2-7 和 Q(s)=5x^4+3x^3-1.5x^2+7x+8 其相应的~MATLAB语句为>> P=polynom([1,4,0,-7]), Q=polynom([5,3,-1.5,7,8])P =x^3 + 4*x^2 - 7Q =5*x^4 + 3*x^3 - 1.5*x^2 + 7*x + 8然后调用下面函数就可以得出相应的计算结果>> P+Qans =5*x^4 + 4*x^3 + 2.5*x^2 + 7*x + 1>> P-Qans =-5*x^4 - 2*x^3 + 5.5*x^2 - 7*x - 15>> P*Qans =5*x^7 + 23*x^6 + 10.5*x^5 - 34*x^4 + 15*x^3 + 42.5*x^2 - 49*x - 56 >> X=P^3X =x^9 + 12*x^8 + 48*x^7 + 43*x^6 -168*x^5-336*x^4+147*x^3+588*x^2-343>> y=polyval(X,[1 2 3 4 5 6])y =-8 4913 175616 1771561 10360232 43986977由于前面的重载定义,下面的表达式也能得出期望的结果>> P+[1 2 3]ans =x^3 + 5*x^2 + 2*x - 4使用 methods() 函数可以列出一个新的类已经定义的方法函数名。

>> methods('polynom')Methods for class polynom:char double mpower plus polyvaldisplay minus mtimes polynom变量的运算(1) MATLAB变量的代数运算如果给定两个矩阵 A 和 B, 则我们可以用 A+B, A-B, A*B 可以立即得出其加、减和乘运算的结果。

若这两个矩阵数学上不可以这样运算,则将得出错误信息,并终止正在运行的程序。

在MATLAB下,如果 A 和 B 中有一个是标量,则可以无条件地进行这样的运算。

MATLAB不介意这些变量是纯实数还是含有虚部的复数。

矩阵的除法实际上就是线性方程的求解,如 Ax=B 这一线性方程的解即为x=inv(A)*B, 或更简单地 x=A\B。

相关文档
最新文档