Matlab基本知识

2024-08-21 23:12
文章标签 matlab 基本知识

本文主要是介绍Matlab基本知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 🌈个人主页:羽晨同学

💫个人格言:“成为自己未来的主人~”  

%% Matlab基本的小常识
% (1)在每一行的语句后面加上分号(一定要是英文的)
a=3;
a=5;
% (2)多行注释:选中要注释的若干语句,快捷键Ctrl+R
% a=3;
% a=5% (3)取消注释:选中要取消注释的语句,快捷键Ctrl+T% clear可以清楚工作区的所有变量
clear
% clc 可以清除命令行窗口中的所有文本,让屏幕变得干净
clc% 所以大家在很多代码的开头,都会见到:
clear;clc % 分号也用于区分行
% 这两条一起使用,起到"初始化"的作用,防止之前的结果对新结果的影响%%输出和输入函数(disp和input)
%disp函数
disp('大家好,这里是Matlab基础讲解');
a=[1,2,3]
a=[1 2 3]
disp(a)
% 注意 disp这里是一定需要分号的
disp(a);
clear;clc
% matlab中两个字符串的合并有两种方法
% (1) strcat(str1,str2....,strn)
strcat('字符串1','字符串2')
% (2) [str1,str2,.....,str n]
['字符串' '字符串2']
['字符串1','字符串2']
% 一个有用的字符串函数:num2str 将数字转换为字符串
c=100;
num2str(c);
disp(['c的取值为' num2str(2)]);
disp(strcat('c的取值为',num2str(2)));
% input函数
% 一般我们会将输入的数、向量、矩阵、字符串等赋给一个变量
A=input('请输入A: ');
B=input('请输入B: ')
% 注意观察工作区,并体会input后面加分号和不加分号的区别
% 不加分号的自动输出了结果
%% sum函数
% (1)如果是向量(无论是行向量还是列向量),都是直接求和
E=[1,2,3];
sum(E)
E=[1;2;3]
sum(E)
% (2)如果是矩阵,则需要根据行和列的方向作区分
clc
E=[1,2;3,4;5,6]
% a=sum(x);%按列求和(得到一个行向量)
a=sum(E)
a=sum(E,1)
% a=sum(x,2);% 按行求和(得到一个列向量)
a=sum(E,2)
% a=sum(x(:)); % 整个矩阵求和
a=sum(sum(E))
a=sum(E(:))
clc
%% 基础: Matlab中如何提取矩阵中指定位置的元素
% (1)取指定行和列的一个元素(输出的一个值)
clc;A=[1 1 4 1/3 3;1 1 4 1/3 3;1/4 1/4 1/3 1/2 2; 3 3 3 1 3;1/3 1/3 2 1/3 1];
A
A(2,1)
A(3,2)
% (2)取指定的某一行的全部元素(输出的是一个行向量)
clc;A
A(2,:)
A(5,:)% (3)取指定的某一列的全部元素(输出的是一个列向量)
clc;A
A(:,1)
A(:,3)
% (4)取指定的某些行的全部元素(输出的是一个矩阵)
clc;A
A([2,5],:)
A(2:5,:)
A(2:2:5,:)
1:3:10
10:-1:1
A(2:end,:)
A(2:end-1,:)
% (5) 取全部元素(按列拼接的,最终输出的是一个列向量)
clc;A
A(:)%% size函数
clc;
A=[1,2,3;4,5,6]
B=[1,2,3,4,5,6]
size(A)
size(B)
% size(A)函数是用来求矩阵A的大小的,它返回一个行向量,第一个元素是矩阵的行数,第二个元素是矩阵的列数
[r,c]=size(A)
% 将矩阵A的行数返回到第一个变量r,将矩阵的列数返回到第二个变量
r = size(A,1) %返回行数
c = size(A,2) %返回列数%% repmat函数
% B = repmat(A,m,n):将矩阵A复制m*n块,即把A作为B的元素,B由m*n个A平铺而成
A=[1,2,3;4,5,6]
B=repmat(A,2,1)
B=repmat(A,3,2)%% Matlab中矩阵的运算
% MATLAB在矩阵的运算中,"*"号和"/"号代表矩阵之间的乘法与除法
A=[1,2;3,4]
B=[1,0;1,1]
A*Binv(B) % 求B的逆矩阵
B*inv(B)
A*inv(B)
A/B% 两个形状相同的矩阵对应元素之间的乘除法需要使用".*"和"./"
A=[1,2;3,4]
B=[1,0;1,1]
A.*B
A./B% 每个元素同时和常数相乘或相除都可以使用
A=[1,2;3,4]
A*2
A.*2
A/2
A./2% 每个元素同时乘法时只能用.^
A=[1,2;3,4]
A.^2
A^2
A*A%% Matlab中求特征值和特征向量
% 在Matlab中,计算矩阵A的特征值和特征向量的函数是eig(A)
A=[1 2 3;2 2 1;2 0 3]
% (1)E=eig(A):求矩阵A的全部特征值,构成向量E
E=eig(A)
% (2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量
[V,diag]=eig(A)%% find函数的基本用法
% find函数,它可以用来返回向量或者矩阵中不为0的元素位置索引
clc;X=[1 0 4 -3 0 0 0 8 6]
ind=find(X)
% 其有多种用法,比如返回前两个不为0的元素的位置
ind=find(X,2)
% 上面针对的是向量(一维),若X是一个矩阵(二维,有行和列),索引该如何返回
clc;X=[1 -3 0;0 0 8;4 0 6]
ind=find(X)
% 这是因为在Matlab在存储矩阵时,是一列一列存储的,我们可以验证一下
X(4)
% 假如你需要按照行列的信息输出该怎么办
[r,c]=find(X)
[r,c]=find(X,1)%% 矩阵与常数的大小判断运算
% 共有三种运算符,大于>;小于<;等于==(一个等号表示赋值,两个等号表示相等)
X=[1 -3 0;0 0 8;4 0 6]
X>0
X==4%% 判断语句
a=input('请输入考试成绩分数: ')
if a>=85disp('成绩优秀')
elseif a>60disp('成绩合格')
elsedisp('成绩不合格')
end

 

 

这篇关于Matlab基本知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094554

相关文章

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

libsvm在matlab中的使用方法

原文地址:libsvm在matlab中的使用方法 作者: lwenqu_8lbsk 前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C的程序,应该不能。没想到今天又有人问道,难道matlab真的能运行libsvm。我到官方网站看了下,原来,真的提供了matlab的使用接口。 接口下载在: http://www.csie.ntu.edu.

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数_matlab pmsm-CSDN博客

MATLAB层次聚类分析法

转自:http://blog.163.com/lxg_1123@126/blog/static/74841406201022774051963/ 层次聚类是基于距离的聚类方法,MATLAB中通过pdist、linkage、dendrogram、cluster等函数来完成。层次聚类的过程可以分这么几步: (1) 确定对象(实际上就是数据集中的每个数据点)之间的相似性,实际上就是定义一个表征

MATLAB的fix(),floor()和ceil()函数的区别与联系

fix(x),floor(x)和ceil(x)函数都是对x取整,只不过取整方向不同而已。 这里的方向是以x轴作为横坐标来看的,向右就是朝着正轴方向,向左就是朝着负轴方向。 fix(x):向0取整(也可以理解为向中间取整) floor(x):向左取整 ceil(x):向右取整 举例: 4个数:a=3.3、b=3.7、c=-3.3、d=-3.7 fix(a)=3 fl

MATLAB中的eig函数

在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有5种: E=eig(A):求矩阵A的全部特征值,构成向量E。 [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。 [V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特

MATLAB中的diag函数

diag函数功能:矩阵对角元素的提取和创建对角阵 设以下X为方阵,v为向量 1、X = diag(v,k)当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k>0表示在主对角线上方,k<0表示在主对角线下方。例1: v=[1 2 3]; diag(v, 3) ans =      0     0     0