蒙特卡洛(Monte Carlo)方法的介绍和应用

 

蒙特卡洛(Monte Carlo)方法

在渲染中,我们经常听到术语“蒙特卡洛”(通常缩写为MC)。但是这是什么意思?实际上,它所指的是一个非常简单的想法,蒙特卡洛方法指的是一系列统计方法,这些方法本质上用于查找事物的解决方案,例如计算函数的期望值,或者对由于没有封闭形式而无法进行分析积分的函数进行积分。我们可以用该原理来解决不同的问题,并且针对这些问题中都可以关联不同的技术或算法。所有这些算法的共同点是它们使用随机(或随机)采样

MC方法都具有使用随机抽取的样本来计算给定问题的解决方案的概念。这些问题通常分为两个主要类别:

模拟:使用蒙特卡洛进行近似模拟,如果我们要计算从A点到B点所花费的时间,在某些情况下,例如在旅途中下雨或下雪的可能性,交通阻塞的可能性,加油等我们将不得不停止的操作。您可以在模拟开始时设置这些条件,并运行模拟1,000次或者更多以获取估计的时间。与往常一样,运行或试验的次数(此处为1,000)越多,我们的的估计就越准确。比如我们想求国家人口高度,从总人口(样本)中随机选择的N个成年人的身高除以数字N(样本数量)。从本质上讲,这就是我们所说的蒙特卡洛近似,其公式为:

我们得到的值则是我们全国平均身高的一个近似解,当样本N越多时得到的解越精确。但要注意的是我们这里的样本必须满足均匀随机。

积分:这听着像数学家们使用的技术,但我们的着色技术会使用到它,例如我们的基于图像的照明(IBL)中对图像的采样得到最后的光线就使用了蒙特卡洛积分技术。随着积分尺寸的增加,此方法可能会变的非常昂贵,因为MC积分的收敛速度非常的慢,但在许多情况,它依然能带来非常好的效果。我们的积分公式为:

我们积分中除了选择均匀分布之外,还可以选择其他有助于减少方差的分布,来更快的收敛。

 

蒙特卡洛方法应用

MC方法有个非常经典的方法,即用来求解不规则图形的面积:

如上图所示,我们如果想求解黑色区域的面积,我们如果采用均匀随机的撒点,如果点击中黑色区域,则我们为其计数,最后只要将击中数除以总数乘上四边形区域面积就是我们的不规则图形面积:

但注意的是,这里我们计算的面积永远是一个近似值,当发射粒子数量越多,则越接近正确答案。而且该例子我们的采样是要均匀随机的。但是均匀采样并不是MC的绝对条件,比如重要性采样(非均匀采样),该方法可以减少方差。因此我们可以使用一些特殊的非均匀采样可以让我们有更快的收敛速度。

到这里我们可以慢慢明白MC方法指的是一个概念,即利用随机采样去逼近真实解,我们利用模拟中子运动来全面了解蒙特卡洛方法如何在实际中应用。

 

模拟光子传输

我们利用程序来模拟光子的传输,其中会在许多方面涉及到蒙特卡洛方法。了解该方法之后,我们再看路径追踪就能很快明白其原理了。

当光子与由某种材料制成的物体相互作用时(假设该物体具有一定的厚度),该光子传播时会有三种情况。如果光子与构成该材料的原子相互作用,则它可以被吸收(光子的能量传递到原子上,然后原子以热的形式返回到其环境),或者可以被散射(它的行进方向被改变)。最后一种情况则是光子根本不与原子相互作用,在这种情况下,光子一直沿相同的方向传播,直到穿过物体。从物体(或层)的一侧传递到另一侧的现象称为透射。这些术语的说明可在下图中找到。

请注意,尽管光子被散射,其方向也会改变。如果光子在原子周围的任何随机方向上散射,则我们称之为各向同性散射(isotropic,即散射在所有方向上都是相等的)。但是有时,光子会在以光子入射方向为中心的给定圆锥方向内发生偏转。在这种情况下,我们说的是各向异性散射(anisotropic,即光子并不是在所有方向上都被散射,而是在以光子入射行进方向为中心的方向)。在各向异性散射的情况下,可以使用我们所谓的相位或角度函数来计算散射光子的新方向。在本章中,我们主要只处理各向同性散射。如下图直观地看到这两种散射模式。

我们的光子若从入射表明离开,则这种光子现象称为反射或者漫反射,我们用Rd表示。但注意,光子不一定从同一点进入或者离开表面,这是由于光子在物体内部发生了散射。若光子穿透物体,则该现象称为透射,可以用T表示,详细图示如下:

在物理学中,可以使用两个量来定义材料吸收和散射光子的属性。它们简称为吸收系数和散射系数。它们通常用希腊字母σ(sigma)表示:\sigma _{a}为吸收系数,\sigma _{s}为散射系数。他们测量单位长度的材料(单位长度可以是毫米,厘米等)吸收或散射光子的可能性。换句话说,吸收系数例如表示光子通过材料板时被吸收的可能性。请注意,这些值可以大于1。即使概念非常相似,也不要将它们与概率混淆(概率永远不能大于1)。在物理学中,光子通过材料平板时吸收或散射的速率由一个非常著名的定律-比尔-朗伯定律(Beer-Lambert law)定义。该定律的方程可以采用不同的形式。在本中,我们将使用以下公式:

其中,\sigma _{t}=\sigma _{a}+\sigma _{s}。 该术语\sigma _{t}称为消光系数。 正如下图所看到的,距离越大,传输率越小,并且传输率随距离降低的速率随指数衰减而变化。 透射率随距离降低的原因是,光子沿途被吸收。 因此,当然,它们越过距离要越过另一侧表面的距离,就越可能吸收它们:

如果我们将x_{i}称为从入射点到平板中第i个光子被散射或吸收的点的距离,如图:

一些光子在它们进入平板的位置分散很短的距离,而另一些光子则在与原子相互作用之前传播更远的距离。 实际上,该距离(称为自由路径长度)是随机的。 随机变量的概念对于本课程和蒙特卡洛方法的概念至关重要。 光子将被吸收或散射(作为距离的函数)的概率可以通过以下公式计算:

该公式也是我们的概率密度函数,其函数图:

表示了距离X越大的地方被消光(吸收和散射)的概率越低,这个很好理解,当距离(X)越长时,光在之前被吸收或者散射的概率越高。就比如我们在商场买东西,排队越靠后买到东西的概率越低是一样的。我们还需要知道光子被吸收的概率为\sigma _{a}/\sigma _{t},而其散射的概率为\sigma _{s}/\sigma _{t}

我们代码模拟光子经过平板时的步骤如下:

步骤1:计算光子的新位置。沿着方向v运动距离为x。
步骤2:光子是否仍在穿过平板?这可以通过计算光子的位置并将其与平板的边界进行比较轻松地进行测试。
如果光子在平板边界之外,则停止模拟。
如果光子仍在穿过平板,则继续。
步骤3:在此阶段,光子可以被吸收或散射。计算被吸收或散射的光子概率(使用吸收和散射系数)。
如果吸收了光子,则停止模拟(光子消失)
如果光子被散射,则更新光子的行进方向(v),然后返回到步骤1。
该流程图为:

由于我们需要得到每次运动的距离x,所以我们要用上述PDF函数求反函数得出:

\xi则是我们的概率,这里正好可以使用满足[0,1]的均匀随机数,这一步很好的应用了我们的蒙特卡洛方法。但是我们获得x之后每次运动需要判别是否离开平板,我们可以使用简单的相似三角形原理,如下图:

我们可以利用速度获得最后要运动的距离s:

P_{z}为距离平板顶部的距离。

我们把速度标准化则有:

但当v方向朝下时,我们的公式为:

当获得s后我们更新位置,这就十分简单了,代码为:

P.x = P.x + x * V.x; 
P.y = P.y + y * V.y; 
P.z = P.z + z * V.z; 

我们的v如何获得会在后面提到。每次运动完我们需要知道它下一次是被吸收还是散射。如果光子被吸收,它将“死亡”。 然后,我们可以更新计数器以跟踪吸收的光子数量,打破循环并继续前进到下一个光子。 我们检查光子是否被吸收的方法是简单地比较均匀分布的随机变量是否低于光子被吸收的概率\sigma _{a}/\sigma _{t}。但是,大多数MC模拟使用不同的方法来解决此问题。 实际上,逐个模拟光子是非常繁琐的。 相反,我们可以考虑的是,我们实际上遵循的是一包光子,它们遵循的是同一条路径。 当这些光子通过介质传播时,其中一些会被吸收。 我们跟踪已吸收了多少光子的方法是为光子包分配权重。 该权重最初设置为1。光子被吸收的可能性(\sigma _{a}/\sigma _{t})也可以看作是例如100个光子在与光子相互作用时被吸收的部分(以百分比表示)。 因此,在每次散射事件中,我们要做的就是以该比率降低数据包的重量。

上述所说的代码如下:

void MCSimulation(){int nphotons=10000;//粒子总数int count=0;//没被吸收的粒子(反射和透射的总和)double sigma_a=1,sigma_s=2;//(sigma_a吸收系数,sigma_s散射系数)double sigma_t=sigma_a+sigma_s;double d=0.5,g=0.75;//d为平板厚度,g为散射系数const int m=10;//轮盘参数double Rd=0,Tt=0;//反射和穿透positions.clear();indices.clear();for(int n=0;n<nphotons;n++){double w=1;//包权重double x=0,y=0,z=0,mux=0,muy=0,muz=1;//xyz为粒子坐标,mux,muy,muz为粒子运动单位方向while (w!=0) {double s=-log(drand48())/sigma_t;double distToBoundary=0;//到边界的距离if (muz>0) {distToBoundary=(d-z)/muz;}else if(muz<0){distToBoundary=-z/muz;}if (s>distToBoundary) {//离开平板边界时判断反射还是透射if(muz>0)Tt+=w;elseRd+=w;//记录离开平板的点x+=distToBoundary*mux;y+=distToBoundary*muy;z+=distToBoundary*muz;positions.push_back(x);positions.push_back(y);positions.push_back(z);positions.push_back(w);count++;indices.push_back(count);break;}//若粒子没有离开平板则继续在平板内运动x+=s*mux;y+=s*muy;z+=s*muz;double dw=sigma_a/sigma_t;w-=dw;w=std::max(0.0, w);//轮盘模式if (w<0.001) {if (drand48()>1.0/m) {break;}elsew*=m;}//旋转spin(mux, muy, muz, g);}}
}

positions和indices为OpenGL渲染中传给VBO的缓存,为顶点缓存和索引缓存。我们设定粒子包总数,这里我们每次跟踪粒子时,把它看成一个包,所以在循环中开始的w包权重设为1。在粒子运动时,首先用PDF函数获得移动距离s。然后利用三角相似获得到边界的距离,当s超出到边界的距离时,根据移动方向判断为反射还是透射,并记录粒子的位置。若s没有超出边界,则继续运动。我们根据计算的s和v移动相应的距离然后判断是否被吸收,但是这里我们使用的是光子包,所以我们每次迭代后递减权重w,直到w小于一个阈值(这里我们设为0.001),则表示所有的光子被吸收了。但是这里还多使用了一个轮盘模式,利用轮盘参数m,在w足够小时,如果直接判定吸收会使结果不准确。因此避免过早的“杀死”这些光子,我们采用轮盘模式。轮盘模式依旧使用到了我们MC方法的原理,利用随机数,当随机数大于1/m时我们才选择丢弃粒子,否则权重w乘上m让粒子继续运动。

最后,如果光子或光子包未被杀死,则进行散射。从代码的角度来看,这意味着我们需要为此数据包计算一个新的方向(更新向量v)。正如我们前面提到的,组成平板的材料可以是各向同性的(光子随后将在所有可能的方向上散射)或各向异性的(光子主要是“分散在以光子传播方向为中心的圆锥形方向内)。可以通过采样所谓的相位函数来计算新方向。计算机图形学中最流行的相位函数之一称为Henyey-Greenstein散射相位函数。您可以在“体积渲染”课程中找到有关此主题的详细说明。此函数仅采用一个通常表示为g的参数。当g等于1时,光子沿与光子入射方向相同的方向散射。值为0表示介质是各向同性的。中间值表示光子大部分散布在以光子传播方向为中心的圆锥形方向内。实际上,相位函数表示光子还可以沿与入射方向相反的光锥居中散射。因此,光子实际上是向前和向后散射的,但是前向散射与后向散射的量取决于参数g。当g大于0时,前向散射占主导,而对于g小于0的情况,后向散射占主导。说明如下图:

散射函数返回作为偏转角的角度θ的余弦,为了对Henyey-Greenstein函数进行采样,我们将使用以下公式:

该公式得到cos(\theta )。如上图,我们的方向需要获得两个角\varphi\theta,我们还需要\varphi来使向量v进行旋转。旋转公式为:

该公式得到旋转后单位向量v的各个值。该公式是在\mu _{z}不等于-1或1的情况下,当\mu _{z}=1时:

\mu ^{'}_{x}=sin\theta cos\varphi

\mu ^{'}_{y}=sin\theta sin\varphi

\mu ^{'}_{z}=cos\theta

\mu _{z}=-1时:

\mu ^{'}_{x}=sin\theta cos\varphi

\mu ^{'}_{y}=-sin\theta sin\varphi

\mu ^{'}_{z}=-cos\theta

到这里我们的v向量也清楚该如何更新了,我们列出全部代码:

//计算costheta
double getCosFromG(float g){if (g==0) {return 1.0-2.0*drand48();}else{double fT=((1.0-g*g)/(1.0-g+2.0*g*drand48()));return (1.0+g*g-fT*fT)/(2.0*g);}
}//计算旋转量
void spin(double &mu_x,double &mu_y,double &mu_z,const double& g){double costheta=getCosFromG(g);double sintheta=sqrt(1.0-costheta*costheta);double phi=2*PI*drand48();double sinphi=sin(phi);double cosphi=cos(phi);if (mu_z == 1.0) {mu_x = sintheta * cosphi;mu_y = sintheta * sinphi;mu_z = costheta;}else if (mu_z == -1.0) {mu_x = sintheta * cosphi;mu_y = -sintheta * sinphi;mu_z = -costheta;}else {double denom = sqrt(1.0 - mu_z * mu_z);double muzcosphi = mu_z * cosphi;double ux = sintheta * (mu_x * muzcosphi - mu_y * sinphi) / denom + mu_x * costheta;double uy = sintheta * (mu_y * muzcosphi + mu_x * sinphi) / denom + mu_y * costheta;double uz = -denom * sintheta * cosphi + mu_z * costheta;mu_x = ux;mu_y = uy;mu_z = uz;}
}void MCSimulation(){int nphotons=10000;//粒子总数int count=0;//没被吸收的粒子(反射和透射的总和)double sigma_a=1,sigma_s=2;//(sigma_a吸收系数,sigma_s散射系数)double sigma_t=sigma_a+sigma_s;double d=0.5,g=0.75;//d为平板厚度,g为散射系数const int m=10;//轮盘参数double Rd=0,Tt=0;//反射和穿透positions.clear();indices.clear();for(int n=0;n<nphotons;n++){double w=1;//包权重double x=0,y=0,z=0,mux=0,muy=0,muz=1;//xyz为粒子坐标,mux,muy,muz为粒子运动单位方向while (w!=0) {double s=-log(drand48())/sigma_t;double distToBoundary=0;//到边界的距离if (muz>0) {distToBoundary=(d-z)/muz;}else if(muz<0){distToBoundary=-z/muz;}if (s>distToBoundary) {//离开平板边界时判断反射还是透射if(muz>0)Tt+=w;elseRd+=w;//记录离开平板的点x+=distToBoundary*mux;y+=distToBoundary*muy;z+=distToBoundary*muz;positions.push_back(x);positions.push_back(y);positions.push_back(z);positions.push_back(w);count++;indices.push_back(count);break;}//若粒子没有离开平板则继续在平板内运动x+=s*mux;y+=s*muy;z+=s*muz;//轮盘模式double dw=sigma_a/sigma_t;w-=dw;w=std::max(0.0, w);if (w<0.001) {if (drand48()>1.0/m) {break;}elsew*=m;}//旋转spin(mux, muy, muz, g);}}
}

以上代码在OpenGL中简单实现后的效果为:

在模拟玩10000个光子包撞击平板后,我们反射粒子和透射粒子可以清晰的在上图中反应出来。蒙特卡洛方法在该模拟中多处的使用,也让我们到时候理解蒙特卡洛路径追踪有了很好的概念。

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

相关文章

  1. mvn打包

    1.配置好jdk2.下载安装maven http://maven.apache.org/download.cgiapache-maven-3.3.3-bin.zip3. 解压到/Users/mingzi/java/apache-maven-3.5.3-bin目录4.添加环境变量添加 M2_HOME 和 MAVEN_HOME 环境变量到 bash_profile 环境变量,并将其指向你的 Maven 文件夹Path环境变…...

    2024/4/12 9:18:41
  2. Java Web 自学资源

    08-28面试资源 - 链接:链接:https://pan.baidu.com/s/1ENwr1rA9MM2vXxa7ikRJjQ 密码: 密码:ihdy...

    2024/4/20 10:02:35
  3. 面向对象(游戏2)

    <?php/** * Created by PhpStorm. * User: fu * Date: 2017/7/21 * Time: 16:17 *//** * 抽象的角色类,作为所有的角色的模板 * Class JueSe */abstract class JueSe{ /** 角色的名字 */ protected $mingZi; /** 角色的等级 */ protected $dengJi; /** 角色…...

    2024/4/12 9:18:53
  4. 如何在VS中进行单元测试

    在实际项目工程中,我们经常需要对所写的代码进行调试,但是随着工程量的加大,涉及人员的增多,普通的调试无法满足实际的应用需求。 这里简述如何进行单元测试:(单元测试入门) 1、首先我们在已经编写好的项目中右击解决方案,新建项目-->测试项目(本机单元测试项目)2…...

    2024/4/12 9:19:05
  5. 从excel导入数据时显现进度条-用java导入Excel数据到数据库(实时进度条)

    导入数据的步骤如下:一:先上传所导入库EXCEL二:分析EXCEL并导入新增时间和速度功能由于之前的版本是通过session传递实现进度,在集群模式下就出现了问题。详见 http://www.cnblogs.com/interdrp/p/5670854.html 2016-07-14更新支持Spring 4.3.1.RELEASE及tomcat8、weblogic…...

    2024/4/12 9:18:47
  6. 支持https请求以及https请求的抓包

    iOS9推出的时候,苹果希望大家使用https协议,来提高数据传输之间的安全性。下面我就从最简单的代码介绍,如何在工程中设置,来支持https的请求。一、证书准备篇1.证书转换 在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句 // openssl x509 -in 你的证书.crt …...

    2024/4/19 22:01:51
  7. Monte Carlo 方法求解π的近似值

    首先可以了解一下Monte Carlo 方法,这里是链接https://en.wikipedia.org/wiki/Monte_Carlo_method。 根据圆的面积公式S=πR^2,当R=1时,S=π。 我们在一个边长为1的正方形中划定一个半径为1的1/4圆区域。我们向这个正方形区域内随机投点…...

    2024/4/12 9:19:11
  8. 关于自学java的一些心得

    从大学第一次接触java到现在,差不多有快两年时间了,真正从事java工作的时间还不满一年,在学习的道路上,走过一些弯路. 看到周围的小伙伴都开通了自己的博客. 感觉要想搞好java,首先就要让自己融入到这个环境里,开博第一天,就来分享一下自己学习java从入门开始的一些心得.我自己…...

    2024/4/14 4:35:40
  9. 欢迎界面进度条显示

    程序设计中,为了使我们的软件更加人性化,需要一个欢迎界面,显示一个几秒钟的动画。 我们知道图片分层的概念,我们也知道png图片具有透明效果,那么进度条的动画显示效果可以这样来制作:1.首先贴图,贴上背景图片和进度条图片2.然后设置进度条动画显示3.将背景图片进度条区…...

    2024/4/12 9:18:59
  10. Spring Boot 使用Junit编写单元测试

    摘要 单元测试是我们工作中必不可少的一个环节,同时,我们在项目中验证自己的一些想法时,使用单元测试也是极其方便的。 本文将介绍如何在spring boot项目里进行单元测试,并展示一个基本示例。 使用方法 1.添加项目依赖 在pom.xml文件中添加相关依赖2.创建测试包和测试类一般…...

    2024/4/18 13:30:57
  11. 繁体简体转换器 v 1.0

    软件截图软件说明软件名称:繁体简体转换器 软件版本: 1.0 开发语言:易语言 软件说明:本软件主要是用于繁体中文转换为简体中文的工具,如果你想把转换后的文本用于MarkDown中,可以勾选“HTML转义”复选框,会将特殊字符进行处理 下载地址:http://download.csdn.net/d…...

    2024/4/17 5:43:34
  12. 蒙特卡罗方法(Monte Carlo method)

    蒙特卡罗方法(Monte Carlo method) 蒙特卡罗方法概述 蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用…...

    2024/4/20 4:29:36
  13. java自学之路(Java从入门到精通)

    第一本java学习书——《java从入门到精通》(第3版),明日科技编著。第1篇 基础知识第1章 初识javajava是一种面向对象的计算机语言。java分为Java SE、Java EE、Java ME 三个版本。学好java的方法;多实践、多思考、多学习。java API文档;即java开发类集合。java语言特性;简…...

    2024/4/14 0:23:37
  14. Spring-Controller单元测试

    一般测试驱动开发项目中,我们会在Maven中建立一个项目文件和一个一一对应的测试项目文件。每写好一个模块,先对其进行单元测试,再集成到现有的系统中。 针对Controller、Service、Dao三层架构来说,我们最常对Service和Dao进行单元测试。然而Controller的测试,很多人还是启…...

    2024/4/13 16:55:49
  15. 手机与电脑共屏,电脑操作手机屏幕,微信营销功能模块

    手机与电脑共屏,电脑操作手机屏幕,微信营销功能模块 技术交流 使用usb连接实现手机和电脑同屏 代码 自动发朋友圈 加好友等功能代码 QQ:2488520792...

    2024/4/19 21:48:52
  16. stat()函数的介绍

    在程序中获得普通文件,目录,管道,socket,字符,块()的属性。函数原型 #include <sys/stat.h> int stat(const char *restrict pathname, struct stat *restrict buf); 提供文件名字,获取文件对应属性。把相应的属性存放到 buf中。 2 文件对应的属性 struct stat …...

    2024/4/12 9:19:54
  17. 进度条对话框ProgressDialog

    进度条对话框ProgressDialog经常用于不能马上完成的操作,为了避免用户莫名其妙的等待,给用户一个提示。本例中我们演示了两种进度条:条形进度条和圆形进度条。 一、设计界面1、打开“res/layout/activity_main.xml”文件。从工具栏向activity拖出2个按钮Button。2、打开acti…...

    2024/4/9 18:19:21
  18. 蒙特卡洛(Monte Carlo)方法简介

    蒙特卡洛(Monte Carlo)方法的本质蒙特卡洛(Monte Carlo)方法,即蒙特卡洛采样,是一种根据某已知分布的概率密度函数f(x),产生服从此分布的样本X的方法。 蒙特卡洛采样有很多种,其中最简单的就是接受-拒绝采样法(Accept-Rejection method)。下面对其原理进行介绍。1.前提条件…...

    2024/4/12 9:19:48
  19. JAVA自学之路 一:学会选择

    [原创 - 尚学堂科技 - 马士兵老师]JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html]为了就业,不少同学参加各种各样的培训。决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机、嵌入式、游戏、3G、测试等。 那么究竟应…...

    2024/4/12 9:19:54
  20. JAVA上传文件进度条的实现

    很久不在这里发帖子了,最近在家闲来无事,想到转视频的那东西又要做了,遂翻出以前的帖子,看到一年前丰哥让我做一下文件上传的进度条....额~~那就做一下吧。 东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以实现实时更新已上传文件的大小…...

    2024/4/12 13:54:29

最新文章

  1. js获取某月往前推一年或半年的年月数组

    前言 需求&#xff1a;需要显示某月份往前推一年或者半年的费用情况&#xff0c;显示到柱形图上&#xff0c;后台接口只返回有数据的年份&#xff0c;这就需要前端拿全部月份数组去比对并显示。 开始 上代码&#xff1a; // date:选择的月份,比如:2024-04,//n:半年或者1年,…...

    2024/4/23 17:51:25
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 深入浅出 -- 系统架构之微服务中Nacos的部署

    前面我们提到过&#xff0c;在微服务架构中&#xff0c;Nacos注册中心属于核心组件&#xff0c;通常我们会采用高性能独立服务器进行部署&#xff0c;下面我们一起来看看Nacos部署过程&#xff1a; 1、环境准备 因为Nacos是支持windows和Linux系统的&#xff0c;且服务器操作…...

    2024/4/23 6:26:15
  4. 游戏引擎架构01__引擎架构图

    根据游戏引擎架构预设的引擎架构来构建运行时引擎架构 ​...

    2024/4/23 6:16:08
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/22 17:02:52
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/23 13:30:22
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/23 13:28:06
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/20 23:26:47
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/23 13:27:44
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/19 11:57:53
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/23 13:29:53
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/23 13:27:22
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/23 13:28:42
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/21 20:01:37
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/23 13:29:23
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/23 13:27:46
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/23 13:47:22
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/19 11:59:23
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/19 11:59:44
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/23 13:28:08
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/23 13:29:47
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/23 13:28:14
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/23 13:27:51
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/23 13:27:19
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57