MATLAB的编程与应用,匿名函数、嵌套函数、蒙特卡洛法的掌握与使用

目录

1.匿名函数

1.1.匿名函数的定义与分类

1.2.匿名函数在积分和优化中应用

2.嵌套函数

2.1.嵌套函数的定义与分类

2.2.嵌套函数彼此调用关系

2.3.嵌套函数在积分和微分中应用

3.微分和积分

4.蒙特卡洛法

4.1.圆周率的模拟

4.2.计算N重积分(均匀分布)

4.3.计算N重积分(等序列分布)


1.匿名函数

1.1.匿名函数的定义与分类

匿名函数(Anonymous function)

定义f = @(X)expr

x为指定的函数的自变量,Expr为具体的函数表达式。

f = @(x) x.^2;
ff = f(1:10)
ff =
1 4 9 16 25 36 49 64 81 100
g = @(x,y) x.^2 + y.^2;
gg = g(1:4,2:5)
gg =
5 13 25 41

单变量匿名函数

定义f =@(x) expr

  1. x为指定函数的自变量,Expr为具体的函数表达式

f = @(x) x.^2
  1. 含有参数的匿名函数,当参数已知的时候

a = 10, b = 20;
f = @(x) a*x.^2+b;
f(1:5)
ans =
​30    60   110   180   270
  1. 多变量匿名函数

g = @(x,y) x.^2+y.^2;
% 含有参数的匿名函数,当参数已知的时候
a = 1,b = 2;
f = @(x,y) a*x.^2+b*y;
f(1:5,2:6)
ans =
​5    10    17    26    37

多重匿名函数

只有一个@符号的为单重匿名函数;有多个@符号的为二重、多重匿名函数,在参数传递方面非常方便。例:简单的二重匿名函数

f = @(a,b) @(x) a*x.^2+b*x+2;
f(2,3)
ans = @(x) a*x.^2+b*x+2
ans(3)
ans = 29

这个段代码有一点问题,运行结果是17

改成下面的代码才是正确的输出:29

多重匿名函数

f = @(a) a(b,c) @(x) a*x.^2+b*x+c;

匿名函数在解方程中的应用

匿名函数可以非常方便地表达所求方程,并提供fzero等函数调用。例1:求下列方程的根

uTools_1697631535815

f = @(x) exp(x) + x.^2 + x.^(sqrt(x)) - 100;
x0 = fzero(f,3)
x0 =4.1635
f(x0)
ans =2.8422e-14

匿名函数在解方程中的应用

不同参数一一求解对应方程的根时,调用arrayfun函数。例1续:a = [0, 0.01, 0.02, ...., 2]求下列方程相应的根,画出a和相应的x的图像。

f = @(a) @(x) exp(x) + x^a + x^(sqrt(x)) - 100;
aa = 1:0.01:2;
y = arrayfun(@(a) fzero(f(a), 4), aa);
​
%运用arrayfun函数批量处理
​
plot(aa, y)
xlabel('$a$','interpreter','latex','fontsize',15)
ylabel('$x$','interpreter','latex','fontsize',15)
​
title('$e^x+x^a+x^{\sqrt{x}}=100$','interpreter','latex','fontsize',15)

uTools_1697632474217

匿名函数在表示隐函数方面的应用

隐函数一般无数学上的显式表示,运用matlab,对自变量x运用数值解给出因变量y。

例1:显式表示下列y关于x的隐函数

uTools_1697632645086

y = @(x) fzero(@(y)(exp(y)+x^y)^(1/y)-x^2*y,1);
y(1)
ans =2.7779

希望接受向量形式的输入,结合arrayfun函数

y = @(x) arrayfun(@(xx)fzero(@(y)(exp(y)+xx^y)^(1/y)-xx^2*y,1),x);
y(1:5)
ans =2.7779    1.1055    0.7759    0.6284    0.5425

例2:显式表示Z关于x,y的函数

uTools_1697634156004

接受向量形式的输入,结合arrayfun、fzero函数

z = @(x,y) fzero(@(z)z-sin((z*x-0.5*)^2+2*x*y^2-z/10)*exp(-((x-0.5-exp(-y+z))^2+y^2-z/5+3)),rand);
[X,Y] = meshgrid(-1:0.1:7,-2:0.1:2);
Z = arrayfun(@(x,y) z(x,y), X, Y)
surf(X, Y, Z)
​
%坐标轴和函数标题
xlabel('$x$','interpreter','latex','fontsize',15)
ylabel('$y$','interpreter','latex','fontsize',15)
zlabel('$z$','interpreter','latex','fontszie',15)
​
title('$z=\sin((zs-0.5)^2+zxy^2-z/10)\exp(-((x-0.5-\exp(-y+z))^2+y^2-z/5+3))$','interpreter','latex','fontsize',15)

uTools_1697635229411

1.2.匿名函数在积分和优化中应用

匿名函数在求积分区域中的应用

在对称区间积分,求积分区间[-t,t],使得

uTools_1697635327807

z=fzero(@(u) 0.99*pi/2-quadl(@(x)sin(x).^2./x.^2, 0, u), 1)
z =32.3138

匿名函数在数值积分中的应用

求下列函数的三阶导数在区间[0,1]上的图像

uTools_1697635579907

syms x;
f=(x+tan(x))^sin(x);
c=diff(f,3);
t=0:0.01:1;
f3=eval(['@(x)' vectorize(c)]);
plot(t,f3(t))
xlabel('x')
ylabel('y')
title('(x+tan(x))^{sin(x)}三阶导数图像')

三节导函数的图像

uTools_1697636074867

x=0:0.01:1;
y=(x+tan(x)).^sin(x);
plot(x,y)
title('(x+tan(x))^{sin(x)}函数图像')

函数图像

uTools_1697636215608

2.嵌套函数

2.1.嵌套函数的定义与分类

嵌套函数nested-function

嵌套函数的优点

  1. 可以方便解决变量共享问题;

  2. 复杂的表达式中涉及的参数传递;

  3. 编写GUI(图形用户界面)时,参数传递问题。

嵌套在函数体内部的函数,嵌套函数可以方便的实现变量共享,可以出现在函数体内部任意位置,除if/else,while,switch等结构语句中。嵌套函数在尾末必须加上end。

例1:嵌套函数简单应用(内外变量共享)

function r = MyTestNestedFun(input)
a = 5;
c = sin(input)+tan(input);
function y = nestedfun(b)
y = a*c+b;
end
r = nestedfun(5);
end

例2:嵌套函数的变量作用域(内部调用外部)

function r = NestedFunctionVarScopeDemo(a)
b = a+1;function Nested1c = b+1;function Nested11d = c+a;endNested11;end
Nested1

例3:嵌套函数的变量作用域2(未调用时不运行)

function r = NestedFunctionVarScopeDemo2(a)
b = a+1;function Nested1c = b+1function Nested11d = c+a;endend
Nested1
e = c1
r = d;
end

例4:嵌套函数的变量作用域3(无嵌套关系,不能共享)

function r = NestedFunctionVarScopeDemo3(a)
b = a+1;function Nested1c = b+1;c1 = 10;Nested2;c2 = d^2; %这一步有问题end
Nested1
r = c2
end

2.2.嵌套函数彼此调用关系

例5:父函数与子函数(父调用子,不能调用孙)

function r = NestedFunctionCallDemo1(a)
b = a+1;function c1 = Nested1(x)c = b+1;c1 = 10+c*x;function d = Nested11d = c+a;endend
c1 = Nested1(1);
r = Nested11;
end

例6:父函数与子函数(子调用父,孙调用爷)

function NestedFunctionCallDemo2(flag)
switch flagcase 1disp('flag = 1')return;case 2disp('flag = 2')return;case 3disp('flag = 3')returnotherwisedisp(['flag = ', num2str(flag)]);returnend
​
function NestedFunctionCallDemo2(flag)% 续function NestedFun1NestedFunctionCallDemo2(1);%子调用父;NestedFun2function NestedFun2NestedFunctionCallDemo2(3);%孙调用爷;endend
end

例7:父函数与子函数(子调用叔父)

function NestedFunctionCallDemo3
Nested1(5)function Nested1(x)disp(['Nested1执行,输入:', num2str(x)])Nested2(6)function Nested11(xx)disp(['Nested11执行,输入:',num2str(xx)]);endendfunction Nested2(y)disp(['Nested2执行,输入:',num2str(y)])function Nested22(yy)disp(['Nested22执行,输入:',num2str(yy)]);endend
end

例8:父函数与子函数(孙调用大爷,不能用堂伯堂哥)

function NestedFunctionCallDemo4
Nested1(5)function Nested1(x)disp(['Nested1执行,输入:', num2str(x)])Nested11(6)function Nested11(xx)disp(['Nested11执行,输入:',num2str(xx)]);Nested2(pi)Nested22(10);endendfunction Nested2(y)disp(['Nested2执行,输入:', num2str(y)])Nested22(pi*pi)function Nested22(yy)disp(['Nested22执行,输入:',num2str(yy)]);endend
end

父函数与子函数

嵌套:父亲,儿子,孙子

不同嵌套:亲属关系

父子互助,不能求孙

子可求父、伯、大爷、爷,不能求侄儿

2.3.嵌套函数在积分和微分中应用

例1:求积分,已知a,e和l,求\beta_0?

uTools_1697885885102

function sol = example541(a,e,l)function fun(beta)f  =a.*(1-e.^2)./(1-e.^2.*sin(beta).^2).^(3/2);endfunction g = fun(beta0)g = quadl(@fun1,0,beta0)-1;endsol = fzero(@fun2,3);
end
sol = example541(20,0.6,6)

例2:

uTools_1697902867497

function m = Findm
w = [pi/2, pi, pi*1.5]
N = [pi/2-1, -2, -1.5*pi-1];
function y = ObjecFun(m)y = (quadl(@(t) t.^m.*cos(t), 0, w(1))^2 + (quadl(@(t).^m.*cos(t), 0, w(2))^2 + (quadl(@(t).^m.*cos(t), 0, w(3))^2;
end
m = fminbnd(@ObjecFun, 0, 2);
end
​
% 第二段代码
function m = Findm
w = [pi/2, pi, pi*1.5];
N = [pi/2-1, -2, -1.5*pi-1];
function y = ObjecFun(m)
s = @(w)arrayfun(@(ww) quadl(@(t) t.^m.*cos(t), t, ww), w);
y = sum((s(w)-N).^2);
end
m = fminbnd(@ ObjecFun, 0, 2);
end

例3:求微分方程在[0, 5]范围的解,a为参数

uTools_1697905917640

function example545(a)
tspan = [0,5]; % 变量求解区间
y0 = [1,0]; % 初值
[t,y] = ode45(@tfys, tspan, y0); % 调用ode45求解方程
figure;
plot(t, y(:,1),'k'); %画函数y(t)的曲线
hold on;
plot(t,(:,2), 'k:'); %画函数y(t)导数的曲线
set(gca,'fontsize',12); % 设置当前坐标轴字体大小
xlabel('\itt','fontsize',16); %标注x轴
ylabel('\ity','fontsize',16); %标注y轴
​

uTools_1697906579569

function example545(a)
%嵌套函数定义微分方程组function dy = tfys(t,y)dy(1,1) = y(2); %对应于例子中方程组第一个方程dy(2,1) = 3*sin(a*t)-4*y(1);%对应于例子中方程组第二个方程end
end

3.微分和积分

敬请期待

4.蒙特卡洛法

4.1.圆周率的模拟

例1:蒲丰投针问题

18世纪,蒲丰提出以下问题:设我们有一个以平行且等距木纹铺成的地板(如图),现在随意抛一支长度比木纹之间距离 小的针,求针和其中一条木纹相交的概率。并以此概率,布丰提出的一种计算圆周率的方法——随机投针法。这就是蒲丰投针问题(又译“布丰投针问题”)

uTools_1698164362920

证明:由于向桌面投针是随机的,所以用二维随机变量(X,Y)来确定它在桌上的具体位置。设X表示针的中点到平行线的的距离,Y表示针与平行线的夹角,如果x<l/2sin(y)时,针与直线相交。

1698421266060

并且X在服从均匀分布,Y在服从均匀分布,XY相互独立,由此可以写出(X,Y)的概率密度函数

1698421308929

因此所求概率

1698421340451

Monte Carlo方法是计算机模拟的基础,它的名字来源于世界著名的赌城——摩纳哥的蒙特卡洛, 其历史起源于 1777 年法国科学家蒲丰提出的一种计算圆周π 的方法——随机投针法,即著名的蒲丰投针问题。

Monte Carlo方法的基本思想是首先建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量. 然后通过模拟一统计试验, 即多次随机抽样试验 (确定 m和 n) ,统计出某事件发生的百分比。只要试验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义。利用建立的概率模型,求出要估计的参数。蒙特卡洛方法属于试验数学的一个分支。

MATLAB语言编程实现:1)

l = 1; a = 2;n = 10000;m = 0;
for k = l : n
x = unifrnd(0, a/2); y = unifrnd(0, pi/2);if x < l/2*sin(y)m=m+1;end
end
p=m/n;pi_m=1/p
pi_m=3.2584

2)

l=1;a=2;n=10000;m=0;
x=unifrnd(0,a/2,1,n);
y=unifrnd(0,pi/2,1,n);
[gs,wz]=find(x<l/2*sin(y));
m=sum(gs);
p=m/n;pi_m=1/p
pi_m=3.1636

4.2.计算N重积分(均匀分布)

原理:用蒙特卡洛法计算N重积分积分:设D为n维空间Rn的一个区域,f(x)∈D Rn→R,区域D上的n 重积分用下式表示:

1698423636949

可以认为 I=(区域D的测度) X (函数f的期望)。基本的蒙特卡洛法就是找一个超立方体(测度已知,为Mc)包含区域D,在D内随机生成n(n一般足够大)个均匀分布的点,统计落入区域D的点,假设有m个。

则区域D的测度

1698423873975

函数f的期望

1698423895394

积分为

1698424026273

例1:用蒙特卡洛法计算积分

1698424914235

%构造被积函数,x为长为4的列向量或者矩阵(行数为4)。x的每一列表示4维空间中的一个点
f = @(x) exp(prod(x));
n = 10000;
X = rand(4,n); % 随机生成n个4维单位超立方体内的点
I = sum(f(x))/n % 用基本的蒙特卡洛法估计积分值
I =1.069245225746442

例2:用蒙特卡洛法计算积分

1698425193719

f = @(x) prod(x);n = 100000;% 随机均匀积分区域的点
x1 = unifrnd(1,2,1,n);x2 = unifrnd(1,4,1,n);
x3 = unifrnd(1,16,1,n);
ind = (x2>=x1)&(x2<=2*x1)&(x3<=2*x1.*x2)&(x3>=x1.*x2); % 积分区间
X = [x1;x2;x3];
I = (4-1)*(16-1)*sum(f(X(:,ind)))/n
I = 1.791951576008592e+02

4.3.计算N重积分(等序列分布)

在区间[a,b]中的一个(确定性)点列x1,x2,... ,若对所有的有界黎曼(Riemann)可积函数f(x),均有

1698425593926

则称该点列在[a,b]中是等分布的。令(ξ)表示ξ的小数部分,即(ξ)=ξ一[ξ],这里[ξ]表示不超过ξ的最大整数。

定理6.1 若θ为一个无理数 ,则数列为xn= (nθ), n =1,2 ,... ,在[0,1]中是等分布的。

对于一般的区间[a,b],可以令un=xn (b-a)+a来得到[a,b]中等分布的点列。对于s重积分,一般是挑选s 个对有理数线性对立的无理数,来得到包含积分区域D的超长方体内的均匀分布的点列。[uai, ubi ],…得到用等分布序列蒙特卡洛法计算的积分的近似值:

1698426112580

例3:用等序列蒙特卡洛法计算例1的积分

1698424914235

f = @(x) exp(prod(x)); n = 10000;
% 选取对有理数独立的无理数sqrt(2),sqrt(3),sqrt(6)/3,sqrt(10)来分成等分布序列
x = bsxfun(@times, repmat(1:n,4,1),[sqrt(2);sqrt(3);sqrt(6)/3;sqrt(10)]);
x = mod(x,1);%对1取余运算,即得小数部分
I = sum(f(x))/n %
I = 1.069297245824625

例4:用等序列蒙特卡罗法计算积分

1698426480227

包含积分区域的超长方体:

1698426509434

选取对有理数独立的无理数

1698426529613

来生成等分布序列,matlab程序为:

f = @(x) sin(x(1,:).*exp(x(2,:).*sqrt(x(3,:))))+x(4,:).*x(5,:);
n = 10000000;
x = bsxfun(@times,repmat(1:n.5,1),[sqrt(2);sqrt(3);sqrt(6)/3;sqrt(10);sqrt(19)]);
x = mod(x,1);
% 一下变换,使得区间(0,1)上的等分布序列变到各层积分区间上去
BminusA = diff([0.5 sin(exp(1))/2 sin(exp(1))/4])
x(2:end,:) = bsxfun(@times,x(2:end,:),BminusA);

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20道高频JavaScript面试题快问快答

※其他的快问快答&#xff0c;看这里&#xff01; 10道高频Qiankun微前端面试题快问快答 10道高频webpack面试题快问快答 20道高频CSS面试题快问快答 20道高频JavaScript面试题快问快答 30道高频Vue面试题快问快答 面试中的快问快答 快问快答的情景在面试中非常常见。 在面试过…

竞赛选题 深度学习疲劳驾驶检测 opencv python

文章目录 0 前言1 课题背景2 实现目标3 当前市面上疲劳驾驶检测的方法4 相关数据集5 基于头部姿态的驾驶疲劳检测5.1 如何确定疲劳状态5.2 算法步骤5.3 打瞌睡判断 6 基于CNN与SVM的疲劳检测方法6.1 网络结构6.2 疲劳图像分类训练6.3 训练结果 7 最后 0 前言 &#x1f525; 优…

idea 2023 设置启动参数、单元测试启动参数

找到上方的editconfigration&#xff0c; 如下图&#xff0c;如果想在启动类上加&#xff0c;就选择springboot&#xff0c;如果想在单元测试加&#xff0c;就选择junit 在参数栏设置参数&#xff0c;多个参数以空格隔开 如果没有这一栏&#xff0c;就选择就可以了。 然后&…

数字马力笔试面试复盘

笔试——10月9日19&#xff1a;00 单选&#xff1a;30题 16.如何获取AJAX 请求的响应状态码? A通过AJAX对象的 statusCode 属性获取 B通过AJAX对象的responseText 属性获取C通过AJAX对象的status 属性获取 D通过AJAX对象的responseCode属性获取 答案&#xff1a;可以通过AJAX…

回收站清空了怎么恢复?数据恢复的 6 种方法

众所周知&#xff0c;计算机中的回收站是一个存储空间&#xff0c;用于存储从计算机系统中删除的所有文件、文件夹或数据。它是大多数计算机系统&#xff08;包括Windows、Mac等&#xff09;上的必备功能。当从计算机中删除文件或文件夹时&#xff0c;它会在回收站中存储指定的…

京东数据分析:2023年Q3户外鞋服市场分析报告(冲锋衣行业销售数据分析)

从露营、骑行、徒步、桨板、垂钓、飞盘、滑雪到如今的city walk&#xff0c;近两年户外运动已经成为了年轻人新的生活方式。户外运动的爆发也刺激了人们对于鞋服在穿搭、场景化、专业性功能等方向的需求&#xff0c;户外鞋服市场迎来增长。 而全国性的降温则带给目前的户外鞋服…

七个优秀微服务跟踪工具

随着微服务架构复杂性的增加&#xff0c;在问题出现时确定问题的根本原因变得更具挑战性。日志和指标为我们提供了有用的信息&#xff0c;但并不能提供系统的完整概况。这就是跟踪的用武之地。通过跟踪&#xff0c;开发人员可以监控微服务之间的请求进度&#xff0c;从而使他们…

关于Android Studio 同步Gradle失败的解决方案

&#xff08;1&#xff09;打开Android Studio的Settings找到Gradle的目录 &#xff08;2&#xff09;打开本地文件目录&#xff0c;找到对应的gradle版本&#xff0c;可以通过Index of /gradle/ 下载gradle压缩包。把目录中gradle-7.0.2-bin\一堆字符\ 下 的.lck 和.part文…

MATLAB中Arrow 属性说明

目录 颜色和样式 位置 Arrow 属性是箭头的外观和行为。 Arrow 属性控制 Arrow 对象的外观和行为。通过更改属性值&#xff0c;可以修改箭头的特定方面。使用圆点表示法查询和设置属性。 ar annotation("arrow"); c ar.Color; ar.Color "red"; 颜色和…

SpringCloudGateway--Sentinel限流、熔断降级

目录 一、概览 二、安装Sentinel 三、微服务整合sentinel 四、限流 1、流控模式 ①直接 ②关联 ③链路 2、流控效果 ①快速失败 ②Warm Up ③排队等待 五、熔断降级 1、慢调用比例 2、异常比例 3、异常数 一、概览 SpringCloudGateway是一个基于SpringBoot2.x的…

react 修改less文件后保存,内存溢出,项目崩溃问题解决

一、完整报错 一个很老的react项目&#xff0c;因为没有package-lock.json版本锁&#xff0c;导致拉下来的时候&#xff0c;安装的依赖版本冲突&#xff0c;好不容易启动起来&#xff0c;修改less文件后只要一保存&#xff0c;项目就会崩溃&#xff0c;需要重启&#xff0c;报…

一分钟秒懂人工智能对齐

文章目录 1.什么是人工智能对齐2.为什么要研究人工智能对齐3.人工智能对齐的常见方法 1.什么是人工智能对齐 人工智能对齐&#xff08;AI Alignment&#xff09;指让人工智能的行为符合人的意图和价值观。 人工智能系统可能会出现“不对齐”&#xff08;misalign&#xff09;的…

webpack提升构建速度

目录 配置优化减少 resolve 的解析把 loader 应用的文件范围缩小减少 plugin 的消耗选择合适的 devtool 使用工具thread-loaderDLLPlugin 流程优化拆分构建步骤拆分项目代码 版本更新总结 前端项目随着时间推移和业务发展&#xff0c;页面可能会越来越多&#xff0c;或者功能和…

Redis之哨兵模式

文章目录 前言什么是哨兵模式&#xff1f;1.概述2.作用3.测试4.优点5.缺点6.哨兵模式的全部配置 总结 前言 哨兵模式说白点就是&#xff1a;自动选举老大的模式。 什么是哨兵模式&#xff1f; 1.概述 主从切换技术的方法是∶当主服务器宕机后&#xff0c;需要手动把一台从服…

线性代数-Python-04:线性系统+高斯消元的实现

文章目录 1 线性系统2 高斯-jordon消元法的实现2.1 Matrix2.2 Vector2.3 线性系统 3 行最简形式4 线性方程组的结构5 线性方程组-通用高斯消元的实现5.1 global5.2 Vector-引入is_zero5.3 LinearSystem5.4 main 1 线性系统 2 高斯-jordon消元法的实现 2.1 Matrix from .Vecto…

Mac安装与配置eclipse

目录 一、安装Java&#xff1a;Mac环境配置&#xff08;Java&#xff09;----使用bash_profile进行配置&#xff08;附下载地址&#xff09; 二、下载和安装eclipse 1、进入eclipse的官网 (1)、点击“Download Packages ”​编辑 (2)、找到macOS选择符合自己电脑的框架选项…

Python之函数进阶-闭包原理

Python之函数进阶-闭包原理 闭包 自由变量&#xff1a;未在本地作用域中定义的变量&#xff0c;例如定义在内层函数外的外层函数的作用域中的变量闭包&#xff1a;就是一个概念&#xff0c;出现在嵌套函数中&#xff0c;指的是内层函数引用到了外层函数的自由变量&#xff0c…

【已解决】ModuleNotFoundError: No module named ‘sklearn‘

问题描述 Traceback (most recent call last): File "/home/visionx/nickle/temp/SimCLR/linear_evaluation.py", line 210, in <module> from sklearn.manifold import TSNE ModuleNotFoundError: No module named sklearn 解决办法 pip install numpy…

【Git】中Gui的使用和SSH协议的讲解及IDEA开发中使用git

目录 一、Gui使用 1. 使用 2. 功能 二、SSH协议 1. 讲解 2. 生成密钥 3. 远程仓库绑定公钥 三、IDEA使用 1. IDEA配置git 2. IDEA安装gitee 3. IDEA中登入Git 4. 项目分享 5. 克隆分享的项目 6. idea上传远程 一、Gui使用 (Gui) 是指图形用户界面&#xff0c;它…