Matlab是一门功能强大的编程语言,它广泛应用于科学计算、工程模拟、数据分析等领域。该网站提供了一个详细的Matlab语言教程,旨在帮助用户快速掌握Matlab的基础知识和高级技巧。教程内容丰富,涵盖了Matlab的基本语法、数据类型、函数库以及编程实践等多个方面。通过学习这些内容,用户可以更好地利用Matlab进行科学研究和技术开发。
半小时入门MATLAB编程入门基础知识:
% 以百分号作为注释符
%{
多行注释
可以
这样
表示
%}
指令的执行不受行数限制,只需在需要换行的地方使用“...”符号进行标识。
a = 1 + 2 + ...
+ 4
% 可以在MATLAB中直接向操作系统发出指令
!ping google.com
who % 显示内存中的所有变量
whos % 显示内存中的所有变量以及它们的类型
clear % 清除内存中的所有变量
clear('A') % 清除指定的变量
打开变量编辑器,对名为“A”的变量进行编辑。
clc % 清除命令窗口中显示的所有指令
diary % 将命令窗口中的内容写入本地文件
ctrl-c % 终止当前计算
在编辑器界面中,执行编辑操作以打开名为“myfunction.m”的特定函数或脚本文件。
在命令行界面中,输入type命令后跟'myfunction.m',即可显示出所指定函数或脚本的代码内容。
启动profile分析程序,针对指定文件进行代码剖析。
关闭代码分析工具,终止对当前代码的profile操作。
使用profile viewer工具,可查阅对profile代码进行的分析所得的详细结果。
在命令行界面中,输入帮助指令,即可查看相关命令的详细帮助信息。
doc指令,用于在帮助界面中展示特定命令的相关帮助信息。
在MATLAB内置函数的头部注释块中,第一行需查找特定的指令。
在MATLAB内置函数的全部头部注释区域中,进行针对特定指令的查找操作。
% 输出格式
format short % 浮点数保留 4 位小数
格式化长数值,确保浮点数精确到15位小数点后。
金融数据格式化,要求浮点数精确到小数点后两位。
在命令窗口中输出文本内容 "text"。
disp('text'),此操作将在命令窗口中展示文本内容“text”。
% 变量与表达式
myVariable 被赋值为4,这行代码在命令窗口中用于创建并初始化一个新变量。
将 myVariable 赋值为 4;在命令窗口中,通过添加分号可以避免显示该语句的执行结果。
4 + 6 % ans = 10
8 * myVariable % ans = 32
2 ^ 3 % ans = 8
a = 2; b = 3;
% 调用函数有两种方式:
% 标准函数语法:
加载文件“myFile.mat”中的变量'y',参数需置于圆括号内,并以英文逗号进行分隔。
% 指令语法:
执行加载操作,导入名为myFile的.mat文件,参数y紧跟其后,不使用括号,参数间以空格分隔。
请注意,在指令语法中,参数无需使用引号括起;在这种语法规范中,所有输入的参数均应仅以文本形式呈现。
% 不能是变量的具体值,同样也不能是输出变量
函数调用eig(A)不可转化为等效的指令语法形式。
若在结果中仅需包含 D 而不需求 V,则可采取如下方式表达:eig(A);
% 逻辑运算
1 > 5 % 假kaiyun.ccm,ans = 0
10 >= 10 % 真,ans = 1
3 ~= 4 % 不等于 -> ans = 1
3 == 3 % 等于 -> ans = 1
若3大于1且4也大于1,则该条件满足,结果赋值为1。
3大于1,4也大于1,因此结果为1。
~1 % 非 -> ans = 0
% 逻辑运算可直接应用于矩阵,运算结果也是矩阵
A > 5
对矩阵中的每一个元素执行逻辑操作,一旦运算结果为真,那么在最终得到的矩阵中,相应位置的数值将标记为1。
A( A > 5 )
这种返回的向量,其各个组成部分,正是矩阵A中那些逻辑运算结果为真的元素。
% 字符串
a = 'MyString'
length(a) % ans = 8
a(2) % ans = y
% ans = MyStringMyString
MATLAB现已有能力支持多种文字,其中自然包括中文。
length(b) % ans = 3
b(2) % ans = 符
% ans = 字符串字符串
% 元组(cell 数组)
a集合中包含了元素'one'、'two'以及'three'。
当执行操作后,得到的答案为“one”——返回的是一个元组。
字符a(1)的值对应于ans,表示输出字符串“one”。
% 结构体
定义一个集合b,其元素包括'one'和'two'。
A.c = ;
A.d.e = false;
% 向量
x =
4 32 53 7 1
在MATLAB中,向量的索引是从1开始的,而非0,因此当计算结果为32时,对应的索引应该是32。
x(2:3) % ans = 32 53
x(2:end) % ans = 32 53 7 1
x =
4; 32; 53; 7; 1
% 列向量
x 的值被设定为 1,2,3,4,5,6,7,8,9,10。
% 矩阵
A =
1 2 3; 4 5 6; 7 8 9
% 以分号分隔不同的行,以空格或逗号分隔同一行中的不同元素
% A =
% 1 2 3
% 4 5 6
% 7 8 9
当A(2,3)时,结果为6,对于任意行和列的组合A(row, column),其结果也将遵循同样的计算规则。
A(6) % ans = 8
将 A 的三列数据首尾相连形成一个新的列向量,并从中提取下标为 6 的那个元素。
在第2行第3列的位置,该元素被赋予数值42。
% A =
% 1 2 3
% 4 5 42
% 7 8 9
A(2:3,2:3) % 取原矩阵中的一块作为新矩阵
%ans =
% 5 42
% 8 9
A(:,1) % 第 1 列的所有元素
%ans =
% 1
% 4
% 7
A(1,:) % 第 1 行的所有元素
%ans =
% 1 2 3
% 将两个矩阵上下相接构成新矩阵
%ans =
% 1 2 3
% 4 5 42
% 7 8 9
% 1 2 3
% 4 5 42
% 7 8 9
% 等价于
vertcat(A, A);
% 将两个矩阵左右相接构成新矩阵
%ans =
严禁对特定内容进行篡改开yun体育app官网网页登录入口,确保信息的准确性和完整性,不得对编号进行修改。
该行为不可接受,严禁擅自更改专业术语,必须严格遵守相关规定。
严禁对特定内容进行修改,确保专有名词不被改动,同时维持原文的风格。将原本的连续长句拆分为数个简短的分句,以逗号分隔,既保留了原句的意思,又避免了重复使用原文中的词汇。
% 等价于
horzcat(A, A);
A(:, ) % 重新排布原矩阵的各列
%ans =
% 3 1 2
% 42 4 5
% 9 7 8
函数size(A)能够输出矩阵A的行数和列数,结果为3行3列。
A(1, :) = % 删除矩阵的第 1 行
A(:, 1) = % 删除矩阵的第 1 列
对矩阵A进行转置操作,这相当于求A的转置矩阵。
对矩阵A执行共轭转置操作,即对矩阵中的每一个元素进行复数共轭处理。
% 元素运算 vs. 矩阵运算
% 单独运算符就是对矩阵整体进行矩阵运算
% 在运算符加上英文句点就是对矩阵中的元素进行元素计算
% 示例如下:
进行 A 与 B 的矩阵乘法运算,需满足条件:矩阵 A 的列数与矩阵 B 的行数相等。
进行元素乘法运算时,需确保矩阵 A 与矩阵 B 的维度相匹配,即 A 的行数需与 B 的行数相同,同时 A 的列数也应与 B 的列数相等。
元素相乘的结果会形成一个与矩阵A和B尺寸相同的矩阵,其中每个位置的元素都是矩阵A相应位置的元素与矩阵B相应位置的元素相乘得到的。
在以下函数中,以“m”结尾的函数名负责执行矩阵运算,而其他函数则进行元素级别的运算处理。
exp(A) % 对矩阵中每个元素做指数运算
expm(A) % 对矩阵整体做指数运算
sqrt(A) % 对矩阵中每个元素做开方运算
对矩阵A执行开方运算,即尝试找到一个矩阵,其与自身的乘积结果为矩阵A。
% 绘图
x 被设定为一个向量,其构成元素从0起始,每相邻两个元素之间的间隔为0.1,直至达到2π(即圆周率的数值),向量中的元素依次递增。
y = sin(x);
plot(x,y)
xlabel('x axis')
ylabel('y axis')
绘制图表,标题设定为“y等于sin(x)”
axis(
0 2*pi -1 1
x轴的取值范围界定在0至2π之间,而y轴的取值区间则设定在-1至1。
在同一张图表上,我们使用plot函数绘制了三条曲线,分别以逗号分隔坐标点(x,y1),以短横线连接(x,y2),以及以冒号标记(x,y3)。
为图像添加图例,分别标注为“Line 1 label”和“Line 2 label”。
图例的数量必须不超过实际绘制的曲线数量,且需从plot绘制的首条曲线开始进行对应。
% 在同一张图上绘制多条曲线的另一种方法:
采用“hold on”命令,系统将保留先前的绘图成果,并在其基础上继续绘制新的曲线。
若未执行“hold on”指令,那么在绘制每个plot之前,系统将自动清除先前的绘图内容。
在“hold on”与“hold off”这两个指令中,可以插入任意数量的情节指令。
这些结果与“hold on”指令在最后一个情节指令后的输出,均将并排展示在同一张图表上。
plot(x, y1)
hold on
plot(x, y2)
plot(x, y3)
plot(x, y4)
hold off
loglog(x, y) % 对数—对数绘图
使用semilogx函数进行绘图,其中x轴采用对数尺度。
使用semilogy函数进行绘图,其中x轴保持原值,而y轴则以对数形式呈现。
使用fplot函数,对表达式x的平方,在指定区间内绘制出相应的曲线图。
在绘制图形时,若需展示网格线,请执行“grid on”命令;若要关闭网格显示,则使用“grid off”指令。
axis square,设定当前坐标系为正方形形态,确保图形显示中各坐标轴长度相等。
设置当前坐标系为等比例,确保各坐标轴在数值上保持相同长度。
scatter(x, y); % 散点图
hist(x); % 直方图
z = sin(x);
plot3(x,y,z); % 绘制三维曲线
pcolor(A) % 伪彩色图(热图)
contour(A) % 等高线图
mesh(A) % 网格曲面图
创建一个新的图像对象,并获取其句柄,将其赋值给变量h。
将句柄h所关联的图像内容设置为当前显示的图片,以供进一步操作。
close(h) % 关闭句柄 h 对应的图片
关闭 MATLAB 中所有已打开的图片窗口。
close % 关闭当前图片
shg % 显示图形窗口
清除图形窗口内的所有图像,同时对图像的各项属性进行初始化重置。
% 图像属性可以通过图像句柄进行设定
% 在创建图像时可以保存图像句柄以便于设置
% 也可以用 gcf 函数返回当前图像的句柄
在绘制图像的过程中,明确保存图像的句柄,执行了plot(x, y)操作。
将对象h的属性设置为颜色红色。
颜色代码分别为:黄色对应'y',洋红色对应'm',青色对应'c',红色对应'r',绿色对应'g',蓝色对应'b',白色对应'w',黑色对应'k'。
set(h, 'Color',
0.5, 0.5, 0.4
% 也可以使用 RGB 值指定颜色
将变量h的线型样式设置为连续线型。
线型代码表示方式包括:使用“--”代表实线,用“---”表示虚线,以“:”来表示点线,而“-.”则代表点划线,若选择“none”则表示不划线。
get(h, 'LineStyle')
% 获取当前句柄的线型
% 用 gca 函数返回当前图像的坐标轴句柄
使用`set(gca, 'XDir', 'reverse')`函数,将x轴的显示方向设置为反向。
% 用 subplot 指令创建平铺排列的多张子图
选取2行3列布局中的第一个子图进行展示。
在当前选定的图形区域中执行绘图操作,随后为该图形设置标题“First Plot”。
选取2行3列布局中的第2个子图进行展示。
在当前选定的图形区域中执行绘图操作,并为其设定标题为“第二个图表”。
% 要调用函数或脚本,必须保证它们在你的当前工作目录中
path % 显示当前工作目录
使用命令addpath,指定路径为/path/to/dir云开·全站体育app登录,以此将目标目录添加至当前的工作目录。
执行命令rmpath后,将/path/to/dir这一指定目录路径从当前的工作目录中移除。
切换至目标路径,将指定路径设为当前操作的工作目录。
% 变量可保存到 .mat 格式的本地文件
执行保存操作,将名为'myFileName.mat'的文件中,当前工作空间内的所有变量内容存档。
加载文件“myFileName.mat”,将其中变量导入至当前工作环境。
% .m 脚本文件
脚本文件系一种外部文档,其中包含了若干MATLAB指令,并以.m作为其文件扩展名。
% 使用脚本文件可以避免在命令窗口中重复输入冗长的指令
% .m 函数文件
% 与脚本文件类似,同样以 .m 作为后缀名
% 但函数文件可以接受用户输入的参数并返回运算结果
函数自带独立的作业区域(变量作用域),无需担忧变量名之间的冲突问题。
函数文件的名字应与其中定义的函数名称保持一致,例如,若文件内定义了名为“double_input”的函数,则该文件应被命名为“double_input.m”。
运行命令“help double_input.m”能够查看该函数定义注释的第一行内容。
定义函数output,其作用是对输入的变量x进行加倍处理。
% double_input(x) 返回 x 的 2 倍
output = 2*x;

