002 MATLAB语言基础

01 变量命名规则

  • 变量名只能由字母、数字和下划线组成,且必须以字母开头;
    变量名区分字母的大小写;
    变量名不能超过最大长度限制;
    关键字不能作为变量名,如for、end和if等;  
    注意:存变量命名时应尽量避开MATLAB中预定义变量。

1.MATLAB预定义变量:

2. 变量赋值:

赋值语句的一般形式为:变量=数据(或表达式)

>>a=1,b=2,c=a^2+3*b+1  %命令间用逗号间隔,回车后命令窗口显示为:
a=1
b=2
c=8
>>a=1;b=2; c=a^2+3*b+1  %前两条语句加上分号,回车后命令窗口显示为:
c=8                    %加了分号的语句的运行结果不再显示在命令窗口中
>>a                    %但可以通过直接输入变量名查看变量的取值
a=1
>>a=4                        
a=4                    %当变量再次被赋值时,新值代替旧值

3.标点符号及其作用:

02 向量及其运算

1向量的生成

向量就是一维的数组

  • 直接输入法:
    生成行向量的格式:
  • 向量名=[a1,a2,a3,…]
    生成列向量的格式:
     向量名=[a1;a2;a3;…] 或对行向量取转置:向量名=[a1,a2,a3,…]’
  • 冒号表达式法:

一般格式为:向量名=a1:step:a2在a1和a2之间取值,其中a1为向量的第一个元素,step为变化步长,省略时,默认为1。

a=[1:2:10],b=[1:5]
a =
     1     3     5     7     9 
%注意:也就是说用冒号表达式法生成向量时,最后一个元素不一定是a2
b =
     1     2     3     4     5
  • 组合法:

一个向量和数值或另一向量(同为行或列向量)组合在一起,构成一个新的向量 

a=[1 2 3 4];b=[10 11];c=[a 13 b zeros(1,2)]
  • 利用linspace函数生成向量法:

linspace(a,b,n):产生首尾元素分别为a和b,数量长度为n的等差行向量。当n省略时,默认n=100。

linspace(2,50,25)

2向量的运算

  • 同维向量的加减  : 对应位相加减
  • 数与向量的加减、乘除  :对应位相乘除
  • 向量的点积:
    点积运算函数dot(A,B) :同维向量A和B各对应位置上元素相乘后的和,其结果是一个标量。
  • *向量的叉积*
  • *向量的混合积*
>>a=[1 2 3];b=4:6;c=linspace(7,10,4);
>>d=a+b, e=a-c
d =
     5     7     9
??? Error using ==> minus
  Matrix dimensions must agree. % 表明e=a-c运算中a与c的维数不同,使运算出错
>>f=a+1,g=b-1
f =
     2     3     4
g =
     3     4     5 

>> h=3*a,k=4*b'

h =

     3     6     9


k =

    16
    20
    24

>> dot(a,b)%点积运算函数

ans =

    32

03 数组及其运算

1 数组的创建

直接输入法:
A=[1 2 3 4;5,6,7,8],B=[1 2+i 3i 4],C=[9:12;1:2:5 21],D=A+i*C

整个数组放在“[ ]”内;数组元素以逗号或空格隔开;行与行之间用分号或回车键隔开;行内元素也可采用冒号表达式法生成。 如果数组中的元素都是复数,也可以先产生实部数组和虚部数组,然后再将实部数组加上虚数单位与虚部数组的乘积,得到复数数组。

 函数法:

2 数组的寻址

找出需要被操作的元素。对数组A寻址的指令如下:
  • A(r,c):表示数组A的第r行第c列的元素。
  • A(r,:):表示数组A的第r行元素。
  • A(:,c):表示数组A的第c列的元素。
  • A(s):把数组A的所有列按先左后右的次序,首尾连接成一个序列后,由上到下的第s个元素。(MATLAB是按照列的先后顺序存放的。)

例子:

% 数组的寻址
>>a=randn(3,4),b=a(1,3),c=a(2,:),d= (a(:,3))',e=a(10)
a =
    -1.3362   -0.6918   -1.5937   -0.3999
    0.7143    0.8580   -1.4410    0.6900
    1.6236    1.2540    0.5711    0.8156
b =
   -1.5937
c =
    0.7143    0.8580   -1.4410    0.6900
d=
-1.5937   -1.4410    0.5711
e =
-0.3999

3 数组的代数运算

主要包括: (都是对数组内的每一个元素操作)

A=[1 2 3;4 5 6];B=[1 3 4;2 5 6];
加(+)、减(-)、      对应位相加减
乘(.*)、                E=A.*B
除(./和.\)、           E=A.*B
幂运算(.^)、         H=A.^2
指数运算(exp)、  I=exp(A)                =e^A
对数运算(log)      J=log(A)                 
开方运算(sqrt)     K=sqrt(A)
……

点乘(.*) :点乘是针对数组元素的运算,要求两个数组的维数必须相同

而乘(*):是矩阵乘法,遵循线性代数的规则。它要求第一个矩阵的列数必须与第二个矩阵的行数相同。

 4 数组的关系运算

是按元素来比较相同规格数组(行、列数相同)或比较数组与标量

 关系运算符的运算法则为:

  • (1) 当两个标量VS时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。
  • (2) 同维数组VS时,比较是对应位置的元素按标量关系运算规则逐个进行,并给出元素比较结果为0或1组成的与原矩阵相同的同维数组。
  •  (3)标量VS数组时,则把标量与数组的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果为0或1组成的与原矩阵相同的同维数组。
数组的逻辑运算
>>A=[1 0 0;2 3 4];B=[0 1 3;0 1 2];C=A&B,D=or(A,B),E=~(A)
C =
         0     0     0
         0     1     1
D =
         1     1     1
         1     1     1
E =
         0     1     1
         0     0     0

 5 数组的逻辑运算

注意:在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。

数组的逻辑运算
>>A=[1 0 0;2 3 4];B=[0 1 3;0 1 2];C=A&B,D=or(A,B),E=~(A)
C =
         0     0     0
         0     1     1
D =
         1     1     1
         1     1     1
E =
         0     1     1
         0     0     0

04 矩阵及其运算

创建方法与二维数组创建方法一样

1 函数法:

 2 矩阵的运算

  • 矩阵的加、减:相同行数和列数的两矩阵对应元素间进行加减运算 矩阵的乘法
  • 矩阵的除法 左除A\B=inv(A)*B,是线性方程Ax=B的解; 右除B/A=B*inv(A),是线性方程xA=B的解。
  • 矩阵的乘方和开方 乘方利用符号“^”实现,开方利用函数sqrtm实现
  • 矩阵的指数和对数 指数运算用函数expm实现,对数运算用函数logm实现 
矩阵的特殊运算

 数学函数 


三角函数:
sin	正弦
asin	反正弦
cos	余弦
acos	反余弦
tan	正切
atan	反正切
cot	余切
acot	反余切
sec	正割
asec	反正割
csc	余割
acsc	反余割

取整函数	:
ceil	取整
floor	取整
fix	向0取整
round	四舍五入为整数
sign	符号函数

复数函数	:
abs	绝对值和复数模
angle	复数的相角
real	复数的实部
imag	复数的虚部
conj	求共轭复数
complex	构造复数
isreal	判断实数

指数函数	:
exp	以e为底的指数
log	自然对数
log2	以2为底的对数
log10	以10为底的对数
pow2	2的幂
sqrt	平方根

求余函数	:
mod	模除求余
rem	求余数

其它	:
lem	求最小公倍数
ged	求最大公约数

05 函数与表达式

函数——系统内部函数和用户自定义函数

表达式(按照优先级的先后顺序执行;如果优先级相同,要按先左后右的顺序执行。)运算符的优先顺序:

 06 MATLAB数据类型

数值型 整数符号: 有符号整数(int) 无符号整数(unit)。 浮点数: 单精度浮点数(float) 双精度浮点数(double)。 默认的数据类型是双精度浮点数。

与数值型数据类型有关的函数

函数	        功能	                            语法
who	       显示当前工作空间中所有内存变量的名称	    who
whos	   显示变量的维数、字节数和数据类型	        whos 变量名
class	   显示变量的数据类型                        	class (变量名)
isinteger  验证变量是否为整数,结果返回1或0	            isinteger(变量)
intmax	   查询不同整型所能表示的最大整数	            intmax('整型数据类型名')
intmin	   查询不同整型所能表示的最小整数	            intmin('整型数据类型名')
isnumeric  验证变量是否为数值型	                    isnumeric(变量)
double	   将数据转换成双精度浮点型	                double(变量)
single	   将数据转换成单精度浮点型	                single(变量)
isfloat	   验证变量是否为浮点型	                    isfloat(变量)
isa	       验证输入变量是否为指定的数据类型	        isa(变量,‘数据类型’)
realmax	   查询单精度和双精度所能表示的最大浮点数	    realmax('double'或'single')
realmin	   查询单精度和双精度所能表示的最小浮点数	    realmin('double'或'single')
函数size(x)     可以查询变量x的尺寸;
函数length(x)   相当于max(size(x)),返回各维中维数最大的数值;
函数ndims(x)    返回变量的维数,相当于length(size(x));
函数nnz(x)      返回x中非零元素的个数;
函数nonzeros(x) 返回一个由x的非零元素构成的列向量,即length(nonzeros(x))=nnz(x)
%其中x可以各种类型量

应用:

例: 查询变量的尺寸
>> size(randn(2,3))                  %返回随机矩阵的尺寸
ans =
     2     3
>> [a,b]=size(randn(1,3))             %将随机矩阵的行值赋给变量a,列值赋给变量b
a =
     1
b =
     3
>> size(randn(3,4),1)                 %返回指定维上随机矩阵的尺寸
ans =
     3
>> length(randn(3,4))                 %返回随机矩阵各维中最大的值
ans =
     4
>> ndims(randn(3,4))                 %返回随机矩阵的维数
ans =
     2
>> A=[1 2 0 1;0 -1 0 2]
>> nnz(A)                          %返回A中非零元素的个数
ans =
     5
>> nonzeros(A)                      %返回A中的非零元素
ans =
     1
     2
    -1
     1
     2

与函数逻辑有关函数:

logical:  将其它类型数组转换成逻辑类型数组,其中非零元素为真,零元素为假;
true:     产生指定维数的逻辑真值数组; 
false:    产生指定维数的逻辑假值数组。 
islogical:判别数据是否是逻辑型的。

应用:

例:逻辑型数据的有关运算
>>A=randint(2,3),B=logical(A),C=true(size(A)),D=false(2,3)
A =
         1     1     1
         0     0     1
B =
         1     1     1
         0     0     1
C =
         1     1     1
         1     1     1
D =
         0     0     0
         0     0     0 
>>a=true,b=flase,c=islogical(A),d=islogical(B)
结果显示a=1,b=0,c=0,d=1
>>whos B
      Name      Size                    Bytes  Class
      B         2x3                     6  logical array
Grand total is 6 elements using 6 bytes
可见逻辑型数组的每一元素占用1个字节 

07 字符串

例: 生成字符串
>>str1='Heibei University',str2=['of',' ','Science',' ','and',' ','T','e','c','h','n','o','l','o','g','y']
                                                               %直接输入法
str1 =
Heibei University
str2 =
of Science and Technology
>> str=[str1,' ',str2]                                  %组合法
Heibei University of Science and Technology
>>str3='Don''t you?'                                  %字符串中有单引号
若字符串中存在单引号,需要在输入字符串内容时,连续输入两个单引号
str3 =
Don’t you?
>>str4=['a':2:'z']                                      %冒号表达式法
str4 =
acegikmoqsuwy
>>str5=char('MATLAB','基础','与应用')                   %函数法
str5 =
MATLAB
基础    
与应用   

查询字符串的长度:

函数size:以向量的形式返回各维的维数和长度;
函数length:返回长度。

字符串的对齐操作:

水平合并:

str1=['he','bei'];===等同===str2=strcat('shijia','zhuang');

垂直合并:

str3=['information';'world      '];~=str4=strvcat('communication','engineering');
前者必须长度,故用空格补齐

字符串操作函数:

函数	                功能
ischar	                判别变量是否是字符型
blanks(n)	            返回包含有n个空格的字符串
deblank(str)	        删除字符串尾部的空格
findstr(str1,str2)    	在str1中查找str2
lower(str)	            转换成小写
upper(str)	            转换成大写
strcmp(str1,str2)	    比较str1和str2,相等返回1,不等返回0
strrep(str1,str2,str3)	用str3替代str1中所有的str2
strcmpi(str1,str2)    	忽略大小写比较str1和str2
strncmpi(str1,str2,n)	比较str1和str2的前n个字符
strmatch(str1,str2)	    从str2的各行中查询以str1开头的行号
strjust(str,’style’)	str按style(取left、right或center)进行左对齐、右对齐或居中
strtok(str)            	返回str中第一个分隔符(空格、回车或tab键)前的部分

字符串与数值数组的转换函数:

函数	功能	                                用法
abs    	字符串转换成ASCII码	                    abs(字符串)
double	字符串转换成ASCII码    	                double(字符串)
char	通过ASCII码把任意类型数据转换成字符串	    char(数据量)
num2str	将非整数数组转换成字符串                  num2str(数值数组,有效数位)
int2str	将整数数组转换成字符串	                int2str(整数数组)
mat2str	将数值数组转换成字符行向量	            mat2str(数值数组,有效数位)
str2num	将字符数组转换成数值数据	                str2num(字符数组)



                                                         以下期末一般不考



09 细胞数组

细胞数组的基本元素是细胞(cell),每个细胞可以存储不同类型、不同维数的数据

细胞数组的创建  

用花括号{ }直接赋值生成细胞数组 : 
>>a={'his score','MATLAB',90,['笔试45';'上机45']}
a = 
      'his score'    'MATLAB'    [90]    [2x4 char]
函数cell创建细胞数组 ,调用格式为:cell(m,n)
>>a=cell(2);a{1,1}='class1';a{1,2}='no0823101';a{2,1}='name mary'; a{2,2}=['English... 85';'Computer 90']
a = 
      'class 1'      'no 0823101'
      'name mary'     [2x11 char]

细胞数组的其它操作:

函数	                功能
celldisp(c)	            显示细胞数组c的内容
cellplot(c)	            显示细胞数组c的结构图
iscell(c)	            查询c是否是细胞数组
iscellstr(c)            查询c是否是字符型细胞数组
cellfun	                应用于细胞数组中的各个细胞元素
cellstr(s)            	用字符数组s的的行向量作为细胞构成细胞数组
char(c)                	细胞数组c中的细胞作为行向量构成字符数组
mat2cell(A,m,n)        	将普通数组A按照指定的m和n参数转换成细胞数组
cell2mat(c)	            将细胞数组c转换成普通数组
num2cell(A,dim)	        将数组数组A按照指定维方向dim(1是行、2是行、3是页,并且3种方向还可以组合
                        起来,如[1,2],dim缺省时,把数组的每一元素都转化成细胞数组的一个细胞)转
                        换成细胞数组

cellplot(A) %显示细胞数组A的结构图

10 结构数组 

结构数组的构建

直接法: 

%创建上表所示的student结构
>> student.number='0901001';
>> student.name='李丽';
>> student.sex='女';
>> student.age='19';
>> student.class='01';
>> student.department='09';
>> student                                
student = 
        number: '0901001'
          name: '李丽'
           sex: '女'
           age: '19'
         class: '01'
    department: '09'

函数法(struct函数):

student=struct(‘number’,‘0901001’,‘name’,‘李丽’,‘sex’,‘女’,‘age’,‘19’,‘class’,‘01’,…
 'department',... '09')
student1 = 
        number: '0901001'
          name: '李丽'
           sex: '女'
           age: '19'
         class: '01'
    department: '09'

注意:如果域没有值,创建时一定要赋空值;多个元素域值相同时,可以赋值一次

结构数组的访问 

student1.number                      %访问结构数组所有元素的指定域 
ans = 0901001

student1(2).score                      %访问结构数组中指定元素的指定域 
ans =    19.3431   30.2764   15.0873   37.8373   85.3655    68.2223   54.1674   69.7898   86.0012   59.3563

student1(2).score(2,2)          %访问数组中指定元素的指定域的指定下标的域值 
ans =    54.1674

结构数组域操作:

获得结构数组中的域名 

    >> fieldnames(student1)
ans = 
      'number'
      'name'
      'sex'
      'age'
      'class'
'score'

删除结构数组中的域

 student1=rmfield(student1,{'sex','age'})
student1 = 
1x2 struct array with fields:
    number
    name
    class
    score

结构数组的其它操作函数

setfield:    设置域值,                      调用格式:struct_name=setfield(struct_name,
                                                     {i,j},’field_name’, {m,n},field_value)
getfield:    获取域值,                      调用格式:getfield(struct_name,
                                                      {i,j},’field_name’,{m,n})
orderfields: 将域名按字母顺序排序,           调用格式:orderfields(struct_name)
isstruct:    判断数据对象是否是结构类型。     调用格式:isstruct(struct_name)
isfield:     判断字符串是否是给定结构的域名。  调用格式:isfield(struct,’field_name’)
struct2cell: 结构数组转换成细胞数组。         调用格式:cell_name=struct2cell(struct_name)
cell2struct: 细胞数组转换成结构数组。         调用格式: struct_name=
                                                      cell2struct(cell_name,fields,dim)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/924659.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无线WiFi网络版毫米波雷达人体传感器,智能家居节能减排照明有人无人识别

在这个科技日新月异的时代,智能家居已经不再是遥不可及的未来概念,而是悄然融入了我们的日常生活,为我们的生活带来了未有的便捷与舒适。今天,让我们一起探索一项创新性的智能家居技术——飞睿智能无线WiFi网络版毫米波雷达人体传…

AI前景分析展望——GPTo1 SoraAI

引言 人工智能(AI)领域的飞速发展已不仅仅局限于学术研究,它已渗透到各个行业,影响着从生产制造到创意产业的方方面面。在这场技术革新的浪潮中,一些领先的AI模型,像Sora和OpenAI的O1,凭借其强大…

Qwen2.5-7B大模型微调记录

Qwen2.5-7B大模型微调记录 研究需要,需要搞一个大模型出来,没有太多的时间自己训练,准备用现成的开源大模型,然后结合研究方向进行微调 前前后后折腾大半个月,总算做完了第一个微调的大模型,模型基于阿里…

Spring Aop 中对JoinPoint的理解

以下是源码中对 JoinPoint 的描述 A runtime joinpoint is an event that occurs on a static joinpoint (i.e. a location in a program). For instance, an invocation is the runtime joinpoint on a method (static joinpoint). The static part of a given joinpoint can…

netstat -tuln | grep 27017(显示所有监听状态的 TCP 和 UDP 端口,并且以数字形式显示地址和端口号)

文章目录 1. 确定占用端口的进程使用 lsof 命令使用 fuser 命令 2. 结束占用端口的进程3. 修改 MongoDB 配置文件4. 检查 MongoDB 日志文件5. 重新启动 MongoDB 服务6. 检查 MongoDB 服务状态总结 [rootlocalhost etc]# netstat -tuln | grep 27017 tcp 0 0 127.0.…

java脚手架系列16-AI大模型集成

之所以想写这一系列,是因为之前工作过程中有几次项目是从零开始搭建的,而且项目涉及的内容还不少。在这过程中,遇到了很多棘手的非业务问题,在不断实践过程中慢慢积累出一些基本的实践经验,认为这些与业务无关的基本的…

若依框架部署在网站一个子目录下(/admin)问题(

部署在子目录下首先修改vue.config.js文件: 问题一:登陆之后跳转到了404页面问题,解决办法如下: src/router/index.js 把404页面直接变成了首页(大佬有啥优雅的解决办法求告知) 问题二:退出登录…

NAT:连接私有与公共网络的关键技术(4/10)

一、NAT 的工作原理 NAT 技术的核心功能是将私有 IP 地址转换为公有 IP 地址,使得内部网络中的设备能够与外部互联网通信。其工作原理主要包括私有 IP 地址到公有 IP 地址的转换、端口号映射以及会话表维护这几个步骤。 私有 IP 地址到公有 IP 地址的转换&#xff1…

在 Ubuntu 上部署 MediaWiki 开源维基平台

MediaWiki 是一个功能强大的开源维基软件,全球众多组织使用它来创建协作文档网站。本文将指导你如何在 Ubuntu 服务器上安装 MediaWiki,使用 Nginx 作为 Web 服务器,PostgreSQL 作为数据库管理系统。 简介 MediaWiki 是一个灵活且强大的维基…

彻底理解如何保证ElasticSearch和数据库数据一致性问题

一.业务场景举例 需求: 一个卖房业务,双十一前一天,维护楼盘的运营人员突然接到合作开发商的通知,需要上线一批热门的楼盘列表,上传完成后,C端小程序支持按楼盘的名称、户型、面积等产品属性全模糊搜索热门…

ReactPress(阮一峰推荐工具):一款基于Next.js的免费开源博客CMS系统

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。 此项目是用于构建博客网站的,包含前台展示、管理后台和后端。 此项目是基于 React antd NestJS NextJS MySQL 的,项目已经开源,项目地址在 …

【论文阅读】点云预测-机器人操作

文章目录 1. 【CoRL 2024】IMAGINATION POLICY: Using Generative Point Cloud Models for Learning Manipulation Policies针对痛点和贡献摘要和结论引言方法实验思考不足之处 2. 【CVPR2023】Point Cloud Forecasting as a Proxy for 4D Occupancy Forecasting针对痛点和贡献…

clickhouse 分片键的重要性

文章目录 背景反思为啥出现问题为啥默认的语义是local 背景 问题背景 详细内容可以看这个 反思为啥出现问题 为啥会出现链接里出现的问题,对于goal join 和 join 语义不一样的问题,那是因为分片键设计不合理的情况 如果表a和表b 都是user_id 作分片键…

如何安全高效地打开和管理动态链接库(DLL)?系统提示dll丢失问题的多种有效修复指南

动态链接库(DLL)文件是Windows操作系统中非常重要的一部分,它们包含了程序运行所需的代码和数据。当系统提示DLL文件丢失时,可能会导致应用程序无法正常运行。以下是一些安全高效地打开和管理DLL文件以及修复DLL丢失问题的方法&am…

学习日记_20241126_聚类方法(自组织映射Self-Organizing Maps, SOM)

前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…

关于 vue+element 日期时间选择器 限制只能选当天以及30天之前的日期

业务需求&#xff0c;需要实现选择当天以及30天之前的日期&#xff0c;于是我想到的是利用picker-options去限制可选范围 代码如下 <el-date-pickerv-model"searchData.acceptTime"type"datetimerange"value-format"yyyy-MM-dd hh:mm:ss"styl…

【C语言】int *p[ ] 与 int (*p)[ ] 的区分辨析

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 &#x1f4af;前言&#x1f4af;基本概念&#xff1a;数组与指针&#x1f4af;理解 int *p[10] 与 int (*p)[10]1. int *p[10]&#xff1a;存放指针的数组2. int (*p)[10]&#xff1a;指向数组的指针 …

网安瞭望台第4期:nuclei最新poc分享

国内外要闻 多款 D-Link 停产路由器漏洞&#xff1a;攻击者可远程执行代码 近日&#xff0c;知名网络硬件制造商 D-Link 发布重要安全公告。由于存在严重的远程代码执行&#xff08;RCE&#xff09;漏洞&#xff0c;其敦促用户淘汰并更换多款已停产的 VPN 路由器型号。 此次…

【前端】JavaScript中的隐式声明及其不良影响分析

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;什么是隐式声明&#xff1f;&#x1f4af;隐式声明的常见情景1. 赋值给未声明的变量2. 非严格模式下的隐式声明3. 函数中的变量漏掉声明4. for 循环中的隐式声明5. 使用…

【VRChat 改模】开发环境搭建:VCC、VRChat SDK、Unity 等环境配置

一、配置 Unity 相关 1.下载 UnityHub 下载地址&#xff1a;https://unity.com/download 安装打开后如图所示&#xff1a; 2.下载 VRChat 官方推荐版本的 Unity 跳转界面&#xff08;VRChat 官方推荐页面&#xff09;&#xff1a;https://creators.vrchat.com/sdk/upgrade/…