MATLAB学习笔记

本文详细介绍了MATLAB中的关键函数,如变量查看(whos),数组操作(find,cellfun,strcmp),数组统计(numel,eval),数据类型(cell)以及图形处理(drawnow,logspace,trisurf)等,展示了如何在MATLAB中进行数据查找、处理和可视化。
摘要由CSDN通过智能技术生成

1、在MATLAB中,whos(‘*’)是一个命令,用于列出当前工作区中所有变量的信息。
2、MATLAB中,find函数用于查找数组中满足指定条件的元素的索引。

indices = find(A)
indices = find(A, k)
indices = find(A, k, 'first')
indices = find(A, k, 'last')

A:要搜索的数组。
k:可选参数,指定要返回的索引数目。
‘first’:可选参数,指定返回的是满足条件的第一个索引。
‘last’:可选参数,指定返回的是满足条件的最后一个索引。
3、在MATLAB中,cellfun函数用于对cell数组中的每个元素应用指定的函数,并返回结果。

output = cellfun(func, cell_array)
C = {'apple', 'banana', 'cherry'};
output = cellfun(@length, C);
disp(output);%5    6    6

4、在MATLAB中,strcmp函数用于比较两个字符串是否相等。它接受两个输入参数,然后返回一个逻辑值,指示这两个字符串是否相等。如果相等,则返回1,否则返回0。

result = strcmp(str1, str2);
str1 = 'hello';
str2 = 'world';

if strcmp(str1, str2)
    disp('The strings are equal');
else
    disp('The strings are not equal');
end

5、numel 函数用于返回数组中元素的总数。n = numel(A)
eval函数用于计算包含在字符串中的表达式。result = eval(expression)
6、数据类型
cell是一种数据类型,用于存储不同类型和大小的数据元素。Cell数组是一种特殊的数组,可以包含任意类型的数据,例如数字、文本、其他数组甚至函数句柄等。

% 创建一个包含不同类型数据的cell数组
myCell = {1, 'hello', [2 3 4], magic(3)};

% 访问cell数组中的元素
disp(myCell{1}); % 输出第一个元素
disp(myCell{2}); % 输出第二个元素
disp(myCell{3}); % 输出第三个元素
disp(myCell{4}); % 输出第四个元素

创建cell数据类型:

% 创建一个大小为2x3的cell数组
myCellArray = cell(2, 3);

% 设置cell数组中的元素
myCellArray{1, 1} = 'A';
myCellArray{1, 2} = [1 2 3];
myCellArray{1, 3} = magic(3);
myCellArray{2, 1} = rand(2, 2);
myCellArray{2, 2} = {'apple', 'banana', 'cherry'};
myCellArray{2, 3} = 123;

% 显示结果
disp(myCellArray);

创建一个指定大小的三维cell数组:

% 创建一个3x3x3的空cell数组
cellArray = cell(3, 3, 3);

% 为cell数组的每个元素分配值
for i = 1:3
    for j = 1:3
        for k = 1:3
            cellArray{i, j, k} = sprintf('Cell (%d, %d, %d)', i, j, k);
        end
    end
end

% 显示cell数组的内容
disp(cellArray);

7、cross 函数用于计算两个三维向量的叉积。叉积是向量运算中的一种,它返回一个新的向量,该向量垂直于原始向量。
用法:C = cross(A, B)
例子:

A = [1, 2, 3];
B = [4, 5, 6];
C = cross(A, B);%向量叉积

向量的叉积是一种在三维空间中两个向量之间的运算。向量的叉积结果是另一个向量,垂直于原始两个向量所在的平面。具体来说,如果有两个三维空间中的向量a和b,它们的叉积a x b的结果是一个新向量,记为c,其大小等于a和b所围成的平行四边形的面积,方向则由右手定则确定。

8、atan2函数是一个用于计算给定y和x坐标值的反正切值的函数。atan2(y,x)函数返回的是y/x的反正切值,考虑到y和x的符号以确定正确的象限。这个函数通常比简单地使用atan(y/x)更常用,因为它可以正确地处理y和x同时为零的情况。angle = atan2(y, x);angle将包含点(x,y)的极坐标角度值。
9、bsxfun函数是用于对两个数组进行逐元素操作的函数。bsxfun函数的名称代表"Binary Singleton eXpansion FUNction",它的作用是将两个数组进行操作时自动进行广播(broadcasting),使得这两个数组的维度相互适配,从而进行逐元素的操作。
语法:C = bsxfun(fun, A, B)
举例:

A = [1 2 3; 4 5 6];
B = [0.5 1 1.5; 2 2.5 3];

C = bsxfun(@plus, A, B);
disp(C);

在这里插入图片描述
@rdivide是一个函数句柄,用于将第一个输入数组的每个元素除以第二个输入数组的对应元素。

10、Dirac函数通常用dirac()函数表示。Dirac函数是一个在原点处取无穷大,在其他位置取零的函数。

t = -1:0.01:1;  % 创建一个时间向量
x = dirac(t);   % 计算Dirac函数在时间向量上的取值

figure;
plot(t, x);
title('Dirac函数');
xlabel('时间');
ylabel('幅度');

在这里插入图片描述
11、nansum函数用于计算数组中排除NaN值后的总和。它会忽略数组中的NaN(Not-a-Number)值,并返回其余元素的总和。total = nansum(A)
12、real 函数用于获取复数数组中的实部。如果输入是实数,则 real 函数返回输入本身。

z = 3 + 4i; % 创建一个复数
realPart = real(z); % 获取复数的实部
disp(realPart); % 显示实部3

A = [2+3i, 4-2i; 1, 5]; % 创建一个复数矩阵
realA = real(A); % 获取矩阵中每个元素的实部
disp(realA); % 显示矩阵的实部

在这里插入图片描述
13、hamming函数用于生成汉明窗(Hamming window)。汉明窗是一种在数字信号处理中常用的窗函数,通常用于信号处理和谱分析中以减少频谱泄漏。w = hamming(L)
其中L是窗口长度。通过调用hamming函数并提供窗口长度L作为输入,可以得到一个长度为L的汉明窗向量w。这个向量可以用于信号处理中的加窗操作。
14、在MATLAB中,drawnow是一个命令,用于强制立即更新图形或图像显示。当在MATLAB中进行绘图操作时,有时候图形不会立即显示出来,而是会在所有绘图命令执行完毕后才显示。
15、logspace函数用于生成在对数尺度上均匀分布的向量。V = logspace(start, stop, n)
其中:
start:起始指数值(10的幂),指定对数空间中的起始点。
stop:结束指数值(10的幂),指定对数空间中的结束点。
n:生成的点的数量。
举例:V = logspace(1, 3, 5);将生成一个包含以下值的向量V:[10, 31.6228, 100, 316.2278, 1000]。
16、spline函数用于生成样条插值。样条插值是一种常用的数据插值技术,它通过在相邻数据点之间拟合多项式来估计数据点之间的值。yi = spline(x, y, xi)
x 是一个包含已知数据点的向量。
y 是与 x 对应的函数值向量。
xi 是要计算插值的位置。
yi 是在 xi 处的插值结果。
举例:

x = [1, 2, 3, 4, 5];
y = [3, 6, 2, 8, 1];
xi = 1:0.1:5; % 生成插值点
yi = spline(x, y, xi);
plot(x, y, 'o', xi, yi, '-');%生成一个平滑的插值曲线,穿过给定的数据点 (x, y)

17、view函数用于设置三维图形的视角。该函数接受三个参数,分别是旋转的方位角(azimuth)、仰角(elevation)和缩放因子(scale)。view(azimuth, elevation)
azimuth指的是图形在水平面上的旋转角度(以度为单位),范围为0到360度。
elevation指的是图形在垂直平面上的仰角(以度为单位),范围通常为-90到90度。
18、ppval函数用于计算给定分段多项式函数(ppform)的值。y = ppval(pp, x)

pp是一个包含分段多项式函数的结构体(ppform)。 x是一个包含要计算函数值的点的向量。 y是包含在点x处计算的函数值的向量。

举例:

% 创建一个ppform结构体
pp = mkpp([0, 1, 2], [-1, 2, 0.5]);

% 计算在点x=0.5处的函数值
x = 0.5;
y = ppval(pp, x);%ppval(pp, x)将计算在x=0.5处的函数值
disp(y);

19、permute函数用于重新排列数组的维度。B = permute(A,order)

A 是要重新排列维度的数组; order 是一个整数向量,指定了要如何重新排列A的维度。order中的每个元素代表A中对应维度的新位置。

20、trisurf 是 MATLAB 中用于绘制三维曲面图的函数之一。它通常用于绘制由三角形片段构成的三维曲面,这些片段由一组顶点和连接这些顶点的三角形构成。trisurf(TRI, X, Y, Z)

TRI 是一个包含三角形顶点索引的矩阵。
X、Y 和 Z 是分别包含顶点 x、y 和 z 坐标的向量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值