Matlab 入门3
MATLAB科学计算软件入门教程

MATLAB科学计算软件入门教程第一章:MATLAB基础知识MATLAB是一种专业的科学计算软件,具有强大的数学计算和数据分析能力。
在使用MATLAB进行科学计算前,我们需要先了解一些基本知识。
1.1 MATLAB界面打开MATLAB后,我们会看到一个主界面。
主界面中有命令窗口、当前文件夹窗口、工作空间窗口和编辑器窗口等基本功能区域。
1.2 MATLAB变量和数据类型MATLAB中的变量可以用来存储各种类型的数据,如数字、字符串、矩阵等。
常见的数据类型包括:double(双精度浮点数)、char(字符)、logical(逻辑值)等。
1.3 MATLAB基本操作在MATLAB中,可以使用基本的数学运算符进行加、减、乘、除等计算操作。
另外,还可以通过内置函数实现更复杂的数学运算。
例如,sin函数可以计算正弦值,sum函数可以计算矩阵元素的和等。
第二章:MATLAB矩阵和向量操作2.1 创建矩阵和向量在MATLAB中,可以使用方括号来创建矩阵和向量。
例如,使用[1,2;3,4]可以创建一个2x2的矩阵。
2.2 矩阵和向量的加减乘除运算MATLAB提供了丰富的矩阵和向量运算函数,可以进行加法、减法、乘法、除法等运算操作。
例如,可以使用矩阵相乘函数*来计算矩阵的乘法。
2.3 矩阵和向量的索引和切片在MATLAB中,可以使用索引和切片操作来获取矩阵和向量中的特定元素或子集。
例如,使用矩阵名加上行和列的索引可以获取矩阵中指定位置的元素。
第三章:MATLAB数据可视化3.1 绘制二维图形MATLAB提供了丰富的绘图函数,可以绘制二维曲线、散点图、柱状图、等高线图等。
例如,可以使用plot函数来绘制二维曲线。
3.2 绘制三维图形MATLAB还可以绘制三维图形,如三维曲线、三维散点图、三维曲面等。
例如,可以使用plot3函数来绘制三维曲线。
3.3 图像处理与显示MATLAB提供了图像处理和显示的函数,可以加载、编辑和保存图像。
大学计算机基础-数学软件使用入门3_MATLAB

10.3.3 MATLAB 基本数值运 算
七、基本矩阵运算
MATLAB 直接支持矩阵、/ 运算。如:
>> A=[1 6 4;-4 2 8] >> B=[-2 0 1;2 -3 4] >> 2*A-3*B %矩阵数乘与矩阵减 >> (A+B)‘ %两个矩阵和的转置。 >> [1 2 3;-2 1 2]*[1 2 0;0 1 1;3 0 -1] %两个矩阵相乘
>> S1033(3,4)
全局变量和局部变量
➢局部变量:按赋值方式定义的变量,存贮于特 定工作空间,即 MATLAB 工作空间和函数工 作空间
➢全局变量:使用 global 关键字声明的变量, 存贮于 MATLA中B山大全学计局算工机科作学系空间
10.3.5 绘图
一、绘制二维图形
例10.34 在同一个直角坐标图中,绘制正弦函数 sin(x) 和余弦函数 cos(x) 在 [0,4π] 区间的曲线图。
中山大学计算机科学系
10.3.2 MATLAB 主窗口与帮 助
二、MATLAB 帮助
选择菜单“Help”→“Demos”命令打开“Help”窗 口学习 MATLAB 提供的样例演示教程。
在命令窗口中使用 help、doc、lookfor、exist、 what、who、whos、which、open 等帮助命令:
例10.31 求 1~100 内所有素数之和。
➢for 实现 (S1031.m) ➢while 实现 (S1031while.m)
中山大学计算机科学系
10.3.4 编写 MATLAB 程序
四、定义 M 函数
M 函数文件具有如下基本结构:
MATLAB的基本使用教程

MATLAB的基本使用教程MATLAB是一种强大的数学计算软件,广泛应用于科学、工程和技术领域。
它提供了丰富的功能和工具,能够快速、有效地处理和分析各种数学问题。
本文将介绍MATLAB的基本使用方法,帮助初学者快速入门。
一、MATLAB的安装与启动1、下载和安装MATLAB软件:在MathWorks官方网站上下载适合自己操作系统的MATLAB软件,并根据安装提示进行安装。
安装完成后,会生成一个MATLAB的启动图标。
2、启动MATLAB:双击MATLAB的启动图标,或者在命令行中输入"matlab"命令,即可启动MATLAB。
二、MATLAB的基本操作1、工作环境:MATLAB提供了一个强大的集成开发环境(IDE),可以在其中编写和运行代码。
在MATLAB的界面中,包括主窗口、命令窗口、变量窗口、编辑器等。
2、命令窗口:在命令窗口中可以输入和执行MATLAB命令。
可以直接在命令窗口中输入简单的计算,例如输入"2+3"并按下回车键,即可输出计算结果。
3、脚本文件:MATLAB可以编写和运行脚本文件,将一系列命令组织起来,并按顺序执行。
在编辑器中编写MATLAB代码,并将文件保存为.m扩展名的脚本文件。
然后在命令窗口中输入脚本文件的文件名(不带扩展名),按下回车键即可执行脚本文件中的代码。
4、变量和赋值:在MATLAB中,可以创建和操作各种类型的变量。
例如,可以使用"="符号将一个值赋给一个变量,例如"A=5"。
在后续的计算和分析中,可以使用这个变量,例如输入"B=A+3",结果B 将被赋值为8。
5、矩阵和向量:MATLAB中的基本数据结构是矩阵和向量。
可以使用方括号[]来创建矩阵和向量,并使用逗号或空格来分隔不同的元素。
例如,"[1,2,3]"表示一个包含3个元素的行向量。
6、矩阵运算:MATLAB提供了丰富的矩阵运算符和函数,可以对矩阵进行各种运算。
MATLAB基础知识及常用功能介绍

MATLAB基础知识及常用功能介绍第一章:MATLAB简介及安装MATLAB是一种强大且广泛应用的数值计算软件,它提供了许多用于科学计算和工程设计的功能。
MATLAB是矩阵实验室(Matrix Laboratory)的缩写,其主要特点是在操作矩阵和各种数学函数上非常高效。
要安装MATLAB,只需下载安装程序然后按照提示进行安装即可。
第二章:MATLAB基本操作在MATLAB中,可以使用各种命令来进行基本的数学运算,例如加减乘除、幂运算等。
此外,还可以定义变量、矩阵和向量,并进行复杂的数学运算。
提示:使用分号可以取消输出结果。
第三章:MATLAB脚本和函数脚本是一系列MATLAB命令的集合,可以保存并重复执行。
函数是一段具有输入和输出的可执行代码块,可以通过函数名和输入参数来调用。
编写脚本和函数有助于提高代码的可读性和可重复性。
第四章:MATLAB图形化界面MATLAB提供了图形化界面(GUI)工具箱,用于创建交互式应用程序和图形用户界面。
利用GUI工具箱,可以通过拖拽和放置的方式创建界面,并通过设置属性和回调函数实现交互功能。
第五章:MATLAB数据可视化MATLAB拥有丰富的数据可视化功能,可以将数据以各种图表形式呈现出来,如散点图、柱状图、曲线图等。
此外,还可以对图表进行自定义设置,如添加图例、调整轴范围、添加标题等。
第六章:MATLAB图像处理MATLAB提供了强大的图像处理工具箱,可以用于图像的滤波、锐化、模糊、边缘检测等操作。
此外,还可以进行图像的变换和特征提取,用于图像识别和分析。
第七章:MATLAB信号处理MATLAB信号处理工具箱提供了一系列用于处理、分析和合成信号的函数和工具。
可以进行信号滤波、频谱分析、时域分析等操作。
此外,还可以进行数字滤波器设计和滤波器实现。
第八章:MATLAB数学建模MATLAB是数学建模的重要工具,可以用于建立各种数学模型并进行仿真和优化。
可以利用MATLAB解方程、求解微分方程、进行符号计算等,用于解决各种实际问题。
(完整版)Matlab入门教程

第1章MATLAB操作基础1.1 MATLAB概述1.1.2 MATLAB的主要功能1.数值计算MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。
2.绘图功能可以绘制二维、三维图形,还可以绘制特殊图形(与统计有关的图,例如:区域图、直方图、饼图、柱状图等)。
3.编程语言MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。
4.MATLAB工具箱MATLAB包含两部分内容:基本部分和各种可选的工具箱。
MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。
1.1.3MATLAB语言的特点❖语言简洁紧凑,使用方便灵活,易学易用。
例如:A=[1 2 3;4 5 6;7 8 9]一条语句实现了对3x3矩阵的输入。
❖语句功能强大,一条语句相当于其它语言的一个子程序,例如fft。
❖语句简单,内涵丰富。
同一个函数有不同的输入变量和输出变量,分别代表不同的含义。
❖Matlab既具有结构化的控制语句(if、for、while)又支持面向对象的程序设计。
❖方便的绘图功能。
❖包含功能强劲的工具箱。
❖易于扩展。
1.1.4 初识MATLAB例1-1 绘制正弦曲线和余弦曲线。
x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));例1-2 求方程3x4+7x3+9x2-23=0的全部根。
p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根例1-3 求积分quad('x.*log(1+x)',0,1)例1-4 求解线性方程组。
a=[2,-3,1;8,3,2;45,1,-9];b=[4;2;17];x=inv(a)*b1.2 MATLAB的运行环境与安装1.2.1 MATLAB的运行环境硬件环境:(1) CPU(2) 内存(3) 硬盘(4) CD-ROM驱动器和鼠标软件环境:(1) Windows 98/NT/2000 或Windows XP(2) 其他软件根据需要选用1.2.2 MATLAB的安装运行系统的安装程序setup.exe,可以按照安装提示依次操作。
MATLAB基础知识

一、1、数学建模基础知识及常用命令一、界面窗口介绍:1 命令窗口(command window),窗口中输入命令,回车实现计算或绘图功能。
2 工作空间窗口(work space)运行matlab命令时所产生的变量都被加入到工作空间,该窗口可以显示命令窗口中已输入的变量的名称,数值等。
3 命令历史窗口(command history)显示所有执行过的命令,选定某个命令时可以双击或按F9执行。
4 当前目录窗口(Current folder)显示当下目录下的文件信息。
二、常用运算1、算术运算符加+ 减- 乘* 左除/ 右除\ 乘方^注意:在普通的数值运算中,左除为我们常用的除法形式,左除右除结果比较像逆运算,如1/2 和1\2结果互为倒数,但在矩阵的运算中,结果完全不一样,类似于左乘和右乘结果一般会不一样。
运算的优先级:从左到右,幂运算最高优先级,乘除法具有相同次优先级,加减法具有相同的低优先级,括号可以用来改变优先次序。
大家可以进行几个普通计算(练习10分钟)1、325+47⨯÷2、4 59+986-2.7+55-1033.5+20⨯()29()2、数据显示格式默认情况下,matlab显示小数点后4位小数,可以利用format命令改变显示格式(一般写在要改变的数值的命令前):format short 小数点后4位format long 小数点后15位format bank 小数点后2位(以上为三个常用的)format rat 最接近的有理数如以 为例:>> pi= 3.1416>> format long>> pi>> format rat>> pians =355/113>> format bank>> pians =3.14>> format short>> pians =3.1416三、matlab变量1、变量赋值形式变量=表达式(数值)或表达式(数值)其中,“=”为赋值符号,将右边表达式的值赋给左边变量(上面左的含义),当不指定输出变量时,matlab将表达式的值赋给临时变量ans(右的含义)。
MATLAB编程基础入门教程

MATLAB编程基础入门教程Chapter 1: Introduction to MATLAB ProgrammingMATLAB is a widely used programming language and environment that is specifically designed for numerical computing. In this chapter, we will provide a comprehensive introduction to MATLAB programming and its fundamental concepts.1.1 MATLAB EnvironmentMATLAB provides an interactive environment where users can write and execute their programs. It offers a user-friendly interface that includes a command window, an editor, and a workspace. The command window allows users to execute commands directly and see the output instantly. The editor is used to write and save MATLAB programs, while the workspace displays the variables and their values.1.2 Variables and Data TypesIn MATLAB, variables are used to store data. They can be assigned values of different data types, including numeric data types such as integers, floating-point numbers, and complex numbers. MATLAB also supports character and string data types. Understanding data types is crucial for performing accurate calculations and data manipulations.1.3 Basic OperationsMATLAB supports a wide range of arithmetic and logical operations. Users can perform basic operations such as addition,subtraction, multiplication, and division on both scalars and arrays. MATLAB also provides functions for more complex mathematical operations such as exponentiation, logarithm, and trigonometric functions.1.4 Control Flow StatementsControl flow statements allow users to control the flow of program execution. MATLAB supports various control flow statements, including if-else statements, for loops, while loops, and switch statements. These statements enable users to write programs that can make decisions or repeat steps based on certain conditions.Chapter 2: MATLAB Programming TechniquesIn this chapter, we will delve deeper into MATLAB programming techniques that will enhance the efficiency and readability of your code.2.1 Functions and ScriptsFunctions and scripts are two fundamental components of MATLAB programming. Functions are reusable pieces of code that accept inputs and produce outputs. They allow for modular and organized programming. Scripts, on the other hand, are collections of code that execute in a specific order. They are useful for automating a series of commands or calculations.2.2 File I/O OperationsMATLAB provides functions to read and write data from and to different file formats. These file I/O operations are crucial for data analysis and processing tasks. MATLAB supports file formats such as text files, spreadsheets, images, and audio files. Understanding how to efficiently read and write data from different file formats will greatly enhance your data processing capabilities.2.3 Error HandlingError handling is an essential aspect of programming. MATLAB provides mechanisms to catch and handle errors that may occur during program execution. By implementing proper error handling techniques, you can make your code more robust and prevent unexpected crashes or undesired outcomes.2.4 Debugging and ProfilingDebugging is the process of identifying and fixing errors or bugs in your code. MATLAB provides debugging tools that allow you to step through your code, set breakpoints, and inspect variables. Profiling, on the other hand, helps identify code bottlenecks and optimize the performance of your programs. Profiling tools provide insights into the execution time and memory usage of different parts of your code.Chapter 3: MATLAB Graphics and VisualizationMATLAB offers powerful tools for creating highly visual and interactive graphics. In this chapter, we will explore MATLAB'sgraphics capabilities and techniques for creating professional-quality visualizations.3.1 Basic PlottingMATLAB provides functions for creating basic 2D and 3D plots. Users can plot data points, lines, surfaces, and volumes. They can also customize the appearance of plots by changing colors, line styles, and markers. Understanding how to create and customize basic plots will enable you to effectively visualize your data.3.2 Advanced Plotting TechniquesMATLAB's advanced plotting techniques allow users to create more complex visualizations. These techniques include plotting multiple data sets on the same graph, adding legends and labels, creating subplots, and customizing axes properties. By mastering these techniques, you can generate informative and aesthetically pleasing visualizations.3.3 Animation and Interactive GraphicsMATLAB provides tools for creating animations and interactive graphics. Animation allows you to visualize changes in data over time. Interactive graphics enable users to interact with plots by zooming, panning, or selecting data points. Understanding how to create animations and interactive graphics will enhance the engagement and effectiveness of your visualizations.Chapter 4: MATLAB Applications and ExtensionsMATLAB offers a wide range of toolboxes and extensions that extend its functionality and allow users to solve specific technical problems. In this chapter, we will explore some popular MATLAB toolboxes and their applications.4.1 Signal Processing ToolboxThe Signal Processing Toolbox provides functions for analyzing and processing signals. It offers tools for filtering, spectral analysis, time-frequency analysis, and wavelet analysis. This toolbox is widely used in fields such as telecommunications, audio processing, and biomedical engineering.4.2 Image Processing ToolboxThe Image Processing Toolbox is designed for image analysis and manipulation tasks. It offers functions for image enhancement, segmentation, morphological operations, and spatial transformations. This toolbox finds applications in fields such as medical imaging, computer vision, and remote sensing.4.3 Control System ToolboxThe Control System Toolbox provides tools for analyzing and designing control systems. It offers functions for modeling, simulation, and control system design. This toolbox is valuable for engineers working in fields such as robotics, aerospace, and industrial automation.4.4 Machine Learning ToolboxThe Machine Learning Toolbox enables users to implement various machine learning algorithms. It provides functions for classification, regression, clustering, and dimensionality reduction. This toolbox is widely used in data analysis, pattern recognition, and predictive modeling.Conclusion:MATLAB is a powerful and versatile programming language for numerical computing. In this tutorial, we have covered the essential concepts and techniques required for getting started with MATLAB programming. By mastering these foundation skills, you can explore more advanced topics and unlock the full potential of MATLAB as a tool for technical computation and data visualization.。
matlab函数及脚本文件入门讲解

>> b=3
例例
fprintf ('there are %f ',b )
>> there are 3.000000
创建一个字符矩阵并存入磁盘, 再读出赋值给另一个矩阵。 >> a='string'; >> fid=fopen('d:\char1.txt','w'); >> fprintf(fid,'%s',a); >> fclose(fid); >> fid1=fopen('d:\char1.txt','rt'); >> b=fscanf(fid1,'%s')
删除rmpath(' folder path') set path (add folder)
4. 显示M文件内容
调用格式: type M文件
在命令窗口显示
>> edit
>> type aaaa.m qq=22; bb=444; dd=qq+bb;
>> which aaaa aaaa not found. >> cd C:\Users\Desktop\matlab >> addpath(‘C:\Users\Desktop\matlab’) >> edit aaaa >>type aaaa
3. 脚本文件特点
① 一串命令行简单叠加的集合; ② 自动按顺序执行文件的命令; ③ 无输入和输出量; [v,d]=eig(a) ④ 所有变量都驻留在基本工作空间中; ⑤ 所有变量均为全局变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
rcosflt
The sample frequency for Filter input signal using raised cosine the digital input filter signal x is Fd, and the sample Syntax frequency for the output y = rcosflt(x,Fd,Fs) signal y is Fs.
randint
randint Random integer matrix generator. OUT = RANDINT(N) generates an N-by-N matrix of random binary numbers. The appearance of "0" and "1" have even probability. OUT = RANDINT(N, M) generates an N-by-M matrix of random binary numbers. The appearance of "0" and "1" have even probability. OUT = RANDINT(N, M, RANGE) generates an Nby-M matrix of random integer numbers.
Fs是输入观察信号x的抽样频率 3.1.2 信号观测设备 ;Fd 是信号观察窗口时间的倒数。 1 眼图 一般要求Fs>Fd,且Fs/Fd为 M=16; 一正整数。 Fs=10;
Pd=100; Fd=1; %定义计算的点数 msg_d=randint(Pd,1,M);%[0,M-1]中生成整数消息 %QAM调制 msg_a=qammod(msg_d,M); %假设信道等效于一个升余弦滤波器 rcv_a=rcosflt(msg_a,Fd,Fs,'fir/normal'); %输出接收信号的眼图 eyediagram(rcv_a,Fs/Fd,1/Fd,2);
3 误差分析
例如,x=[1,2,3], y=[1,2,2]
[number1,ratio1]=biterr(x,y,3),则x、y中每个 元素用3位二进制数表示,
number1=1,ratio1=1/(3*3)=1/9。
3 误差分析
◆biterr
功能:误比特数、误比特率计算。 语法:[number,ratio]=biterr(x,y);
[number,ratio]=biterr(x,y,K); [number,ratio]=biterr(x,y,K,’column-wise’) 指定x、y中每个元素用k位二进制数表 示;’columnwise’指定按列比较。
If symbol_order is set to 'bin' (default), the function uses a natural binary-coded ordering. If symbol_order is set to 'gray', it uses a Gray constellation ordering.
Scatter plot
3 2 1
Quadrature
0 -1 -2 -3 -3 -2 -1 0 In-Phase 1 2 3
3.1.2 信号观测设备
眼图
散列图
3.1.2 信号观测设备
眼 图 参 数 设 置
每个符号的采样数 每个迹的符号数
眼图模块及其参数设置
3.1.2 信号观测设备
眼图的标识设置
h = scatterplot(...)
% Define the M-ary number and sampling rates. M = 16; Fd = 1; Fs = 10; N = Fs/Fd; Pd = 200; % Number of points in the calculation % Random integers in the range [0,M-1] msg_d = randint(Pd,1,M); % Modulate using square QAM. msg_a = qammod(msg_d,M); % Assume the channel is equivalent to a raised cosine filter. rcv = rcosflt(msg_a,Fd,Fs); % Create the scatter plot of the received signal, % ignoring the first three and the last four symbols. rcv_a = rcv(3*N+1:end-4*N,:); h = scatterplot(rcv_a,N,0,'bx');
x
x
2 2 y1 y2
瑞利分布的概率密度函数为:
f ( x)
2
x2 exp( ) 2 2
Sigma(衰减包络) 用于确定瑞利随机过程的参数, 对应于公式中的σ。
Initial seed(随机 数种子
3.1 信源、信宿和误差分析
3.1.1 信号产生设备
(3)均匀分布噪声发生器uniform noise generator 当a>b时,均匀分布的随机变量x的概率密度函数为:
噪声容限 可以抽样的时间
过零点失真
3.1.2 信号观测设备
1 眼图 eyediagram函数
eyediagram(x,n) eyediagram(x,n,period) eyediagram(x,n,period,offset) eyediagram(x,n,period,offset,plotstring) eyediagram(x,n,period,offset,plotstring,h) h = eyediagram(...)
1 f ( x) a b 0
bxa 其它
该分布的均值为:1/2(a+b)
方差为:1/12(a+b)2
输出噪声被均匀分布 的上限和下限
贝努利分布
泊松分布
3.1 信源、信宿和误差分析
3.1.1 信号产生设备
(4)泊松随机整数发生器
泊松分布的概率密度函数为:
[RANGE(1), RANGE(2)] even probability [0, RANGE-1].
randint
randint(2,2,[0 3]) ans = 3 2 0 1
qammod
Quadrature amplitude modulation
Syntax
y = qammod(x,M) y = qammod(x,M,ini_phase) y = qammod(x,Mn 2
det(K )
1 exp[ ( x )T K 1 ( x )] 2
均值 方差 不同的Initial seed对应于不同的输出, 相同的Initial seed产生相同的输出。 只要设置相同的Initial seed就能够再 现相同的随机过程
3.1.1 信号产生设备
(2)瑞利噪声发生器 瑞利分布等效于一个二维零均值高斯变量的均方和 (Rss—Root sum squares) 。假设 y1 和 y2 是两个独立的 高斯随机变量,均值为零,方差为 σ 2 ,则服从瑞利分 布的随机变量x的表达式为:
y = rcosflt(x,Fd,Fs,'filter_type/Fs',r,delay,tol) y = rcosflt(x,Fd,Fs,'filter_type/filter',num,den) y = rcosflt(x,Fd,Fs,'filter_type/filter',num,den,delay) y = rcosflt(x,Fd,Fs,'filter_type/filter/Fs',num,den...) [y,t] = rcosflt(...)
眼图的线条设置
眼图的颜色设置
眼图的线条设置
3.1.2 信号观测设备
3 误差分析
在估计通信系统的设计质量和技术、算法的性能时, 通常使用误码率进行分析。
(1) Number of error bits (2) Number of error symbols 和 symbol error rate
e f ( x) x! 0
x 0,1,2 其它
lambda 指定泊松参数λ。当它是标量 时,输出矢量的每一分量具 有相同的λ值。当它是矢量时, 此矢量长度须与“种子”的 矢量长度相等 ②seed 初始化“种子”值。
3.1.2 信号观测设备
观测设备包括示眼图、散列图(scatter plot)
Eye Diagram for In-Phase Signal 6 4
Amplitude
2 0 -2 -4 -0.5
1 眼图
0 Time Eye Diagram for Quadrature Signal
0.5
6 4
Amplitude
2 0 -2 -4 -0.5
0 Time
0.5
3.1.2 信号观测设备
和错误率计算(error-rate computation)设备。
通信工具箱对生成这些观测设备的SIMULINK模
块和MATLAB函数均提供支持。