Matlab中@、min()、max()、mod()、fprintf()、linspace()、size()、mapminmax()等常用函数的使用

Matlab中min()、max()、mod()、fprintf()、linspace()函数的使用 

@ 符号可以将函数功能传递给字符:

clear,clc;
x = [-1 2 -4 5];
good = @fc;
y = good(x)

 子函数:

function a = fc(x)
a = abs(x)
end

min()函数与max()函数的作用:

主要是获取数组中最小值及其对应位置、最大值及其对应位置。

可以参照下例进行理解:

close all;clear;clc;
x = [11 8 2 3 4 5 6];
[value_min index_min] = min(x)
[value_max index_max] = max(x)

mod函数的作用:

简单的说mod(a,b)就是a除以b的余数。如:mod(10,3)=1,mod(14,6)=2。

fprintf()函数的作用:打印,通过下面一个简单示例说明:

%% 打印字符串对应的数据
clear,clc
a = 10;b = 20;c = 30;d = 40;
fprintf('小王:%5.0f \n 小花:%5.2f \n 小张:%5.3f \n 小李:%5.3f',a,b,c,d);

linspace()函数的作用:主要是细化数组,常用于插值计算。
a = linspace(1,10,19)           % 前两个数为首、末值,第三个数为细化后数组数量。

size()函数的作用:取矩阵的行数和列数。

clear;clc;
A=[1 1 1 1;2 2 2 2;3 3 3 3] % 3×4矩阵
s=size(A)					% 第一个数为行数,第二个数为列数					
[a b]=size(A)               % a=3 b=4
a=size(A,1)                 % 1表示行数
b=size(A,2)                 % 2表示列数
a=length(A)                 % 数组中行数和列数较大值
b=max(size(A))              % 数组中行数和列数较大值

mapminmax()函数的作用:对数据进行规范化。 

clear,clc
x1 = [1 2 4 1 2];   % 2*(x-xmin)/(xmax-xmin)+(-1)
x2 = [5 2 3];
[y1,ps] = mapminmax(x1);        % f: 2*(x-xmin)/(xmax-xmin)+(-1);
% y1(1) = 2*(1 - 1)/(4-1)+(-1) = -1;
% y(2) = 2*(2 - 1)/(4-1)+(-1) = -1/3 = -0.3333;
% y(3) = 2*(4-1)/(4-1)+(-1) = 1;
y2 = mapminmax('apply',x2,ps);   % 采用同样的规范化映射:f: 2*(x-1)/(4-1)+(-1)
xtt = mapminmax('reverse',y1,ps) % X = mapminmax('reverse',Y,PS)的作用就是进行反规范化

ind2vec()函数、vec2ind()函数

 %% 按照索引创建稀疏矩阵
clear;clc;
A=[1 3 2 2 2 1 2 1];
B=ind2vec(A)   
%% 向量变索引
clear;clc;
T(1,:)=[0 1 0 0 1 0];T(2,:)=[1 0 1 1 0 0];T(3,:)=[0 0 0 0 0 1];
vec2ind(T)   

logspace(a,b,n),其中a、b、n分别表示开始值(10^a)、结束值(10^b)、元素个数(n)

clear;clc;
a = logspace(1,5,5)

strcat()函数:横向连接字符串

%% strcat()函数:横向连接字符串
clear,clc;
s1 = ['a' 'b' '3'];
s2 = ['4 5 6'];
combinedStr= strcat(s1, s2)

 strcmp()函数是用于做字符串比较的函数 

%% strcmp是用于做字符串比较的函数
% 示例1
clear,clc;
s1='hello';
s2='hello';
s3='matlab';
TF1=strcmp(s1,s2)

% 示例2
s='hello';
c={'hello','matlab';'HELLO','matlab'};
TF=strcmp(s,c)

% 示例3
c1={'hello','matlab';'HELLO','matlab'};
c2={'hello','matlab';'hello','MATLAB'};
TF=strcmp(c1,c2)

find()函数的用法:

逐列读取,r为非零元素行索引,c为非零元素列索引,v为非零元素数组

X = [3 2 0; -5 0 7; 0 0 1];
[r,c,v] = find(X)

cumsum()函数的用法

%% cumsum函数的用法
a = [1 2 3;4 5 6;7 8 9]
b = cumsum(a)

 

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值