精华内容
下载资源
问答
  • 具体参数的意义不详细说明,可见帮助系统,只是讨论各大函数的区别比较和注意事项。 一、Z = trapz(X,Y,dim) 梯形数值积分,通过已知参数x,y按dim维使用梯形公式进行积分。 例1 计算int(sin(x),0,pi) >>x=0:pi/...
    具体参数的意义不详细说明,可见帮助系统,只是讨论各大函数的区别比较和注意事项。

    一、Z = trapz(X,Y,dim)
    梯形数值积分,通过已知参数x,y按dim维使用梯形公式进行积分。

    例1 计算int(sin(x),0,pi)

    >>x=0:pi/100:2*pi;
    >>y=sin(x);
    >>z=trapz(x,y)%或者说使用z = pi/100*trapz(y)
    z =

    1.0300e-017

    >>z = pi/100*trapz(y)

    cumtrapz函数 梯形积分的累加,类似于cumsum函数

    二、[q,fcnt]= quad(fun,a,b,tol,trace,p1,p2...)
    自适应simpson公式数值积分,适用于精度要求低,被积函数平滑性较差的数值积分。

    注意事项:
    1.被积函数fun必须是函数句柄;
    2.积分限[a,b]必须是有限的,因此不能为inf;
    3.p1为其他需要传递的参数,一般是数值。

    可能警告:
    1.'Minimum step size reached'
    意味着子区间的长度与计算机舍入误差相当,无法继续计算了。原因可能是有不可积的奇点;
    2.'Maximum function count exceeded' 
    意味着积分递归计算超过了10000次。原因可能是有不可积的奇点;
    3.'Infinite or Not-a-Number function value encountered'
    意味着在积分计算时,区间内出现了浮点数溢出或者被零除。

    例2 计算积分1/(x^3-2*x-p),其中参数p=5,积分区间为[0,2]。

    >>F = @(x,n)1./(x.^3-2*x-n);
    >>Q = quad(@(x)F(x,5),0,2)%或者使用 quad(F,0,2,[],[],5)效果是一样的,只是前者使用的函数嵌套。

    Q =

       -0.4605

    >>quad(F,0,2,[],[],5)

    ans =

       -0.4605

    三、[q,fcnt] = quadl(fun,a,b,tol,trace,p1,p2...)
    自适应Lobatto数值积分,适用于精度要求高,被积函数曲线比较平滑的数值积分。

    注意事项:
    同quad

    可能警告:
    同quad

    例3 计算积分1/(x^3-2*x-p),其中参数p=5,积分区间为[0,2]。


    >>F=@(x,p)1./(x.^3-2*x-p);
    >>Q = quadl(F,0,2,[],[],5)%或者Q = quadl(@(x)F(x,5),0,2)。

    Q =

       -0.4605

    四、[q,errbnd] = quadgk(fun,a,b,param1,val1,param2,val2,...)
    自适应Gauss-Kronrod数值积分,适用于高精度和震荡数值积分,支持无穷区间,并且能够处理端点包含奇点的情况,同时还支持沿着不连续函数积分,复数域线性路径的围道积分法。

    注意事项:
    1.积分限[a,b]可以是[-inf,inf],但必须快速衰减;
    2.被积函数在端点可以有奇点,如果区间内部有奇点,将以奇点区间划分成多个,也就是说奇点只能出现在端点上;
    3.被积函数可以剧烈震荡;
    4.可以计算不连续积分,此时需要用到'Waypoints'参数,'Waypoints'中的点必须严格单调;
    5.可以计算围道积分,此时需要用到'Waypoints'参数,并且为复数,各点之间使用直线连接;
    6.param,val为函数的其它控制参数,比如上面的'waypoints'就是,具体看帮助。

    出现错误:
    1.'Reached the limit on the maximum number of intervals in use'
    2.'Infinite or Not-a-Number function value encountered'

    例4 计算有奇点积分int(exp(x)*log(x),0,1)。

    >>F=@(x)exp(x).*log(x);%奇点必须在端点上,否则请先进行区间划分。
    >>Q = quadgk(F,0,1)

    Q =

       -1.3179

    例5 计算半无限震荡积分int(x^5*exp(-x)*sin(x),0,inf)。

     

    >>F=@(x)x.^5.*exp(-x).*sin(x);
    >>fplot(F,[0,100])%绘图,看看函数的图形
    >>[q,errbnd] = quadgk(F,0,inf,'RelTol',1e-8,'AbsTol',1e-12)%积分限中可以有inf,但必须快速收敛

    q =

    -15.0000


    errbnd =

    9.4386e-009

     

    例6 计算不连续积分,积分函数为f(x)=x^5*exp(-x)*sin(x),但是人为定义f(2)=1000,f(5)=-100,积分区间为[1 10]。

    >>F=@(x)x.^5.*exp(-x).*sin(x);
    >>[q,errbnd] = quadgk(F,1,10,'Waypoints',[2 5])%显然2,5为间断点

    q =

    -10.9408


    errbnd =

    3.2296e-014

    例7 计算围道积分,在复数域内,积分函数1/(2*z-1),积分路径为由[-1-i 1-i 1+i -1+i -1-i]围成的矩形边框。

    >>Waypoints=[-1-i 1-i 1+i -1+i -1-i];
    >>plot(Waypoints);%绘制积分路径
    >>xlabel('Real axis');ylabel('Image axis');axis([-1.5 1.5 -1.5 1.5]);grid on;
    >>Q = quadgk(@(z)1./(2*z - 1),-1-i,-1-i,'Waypoints',[1-i,1+i,-1+i])%注意各点间使用直线连接

    ans =

       0.0000 + 3.1416i

    >> quadgk(@(z)1./(2*z - 1),-1-i,-1-i,'Waypoints',Waypoints)%使用这个的效果也是一样的,就是说始末点可以随便包不包含在Waypoints中。

    ans =

       0.0000 + 3.1416i

    五、[Q,fcnt] = quadv(fun,a,b,tol,trace)
    矢量化自适应simpson数值积分。

    注意事项:
    1.该函将quad函数矢量化了,就是一次可以计算多个积分;
    2.所有的要求完全与quad相同。

    例8 计算下面积分,分别计算n=1,2...,5时的5个积分值,被积函数1/(n+x),积分限为[0,1]。

    >>for k = 1:5,        Qs(k) = quadv(@(x)1/(k+x),0,1);end;Qs

    Qs =

        0.6931    0.4055    0.2877    0.2231    0.1823

    >>F=@(x,n)1./((1:n)+x);%定义被积函数
    >>quadv(@(x)F(x,5),0,1)%我们可以完全使用quadv函数替换上面循环语句的,建议使用后者

    ans =

        0.6931    0.4055    0.2877    0.2231    0.1823

    六、q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method)
    矩形区域二重数值积分,一般区域二重积分参见NIT(数值积分工具箱)的quad2dggen函数。

    例9 计算下面二重积分
    >>F = @(x,y)y*sin(x)+x*cos(y);
    >Q = dblquad(F,pi,2*pi,0,pi)

    Q =

       -9.8696

    七、q=triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol,method)
    长方体区域三重数值积分,注意此时没有一般区域的三重积分。

    例10 计算下面三重积分。

    >>F = @(x,y,z)y*sin(x)+z*cos(x);
    >>Q = triplequad(F,0,pi,0,1,-1,1)

    Q =

        2.0000

    八、超维长方体区域多重积分
    quadndg:NIT工具箱函数,可以解决多重超维长方体边界的定积分问题,但没有现成的一般积分区域求解函数。
    下面总结下:
    (1)quad:采用自适应变步长simpson方法,速度和精度都是最差的,建议不要使用;
    (2)quad8:使用8阶Newton-Cotes算法,精度和速度均优于quad,但在目前版本下已被取消;
    (3)quadl:采用lobbato算法,精度和速度均较好,建议全部使用该函数;
    (4)quadg:NIT(数值积分)工具箱函数,效率最高,但该工具箱需要另外下载;
    (5)quadv:quad的矢量化函数,可以同时计算多个积分;
    (6)quadgk:很有用的函数,功能在Matlab中最强大;
    (7)quad2dggen:一般区域二重积分,效率很好,需要NIT支持;
    (8)dblquad:长方形区域二重积分;
    (9)triplequadL:长方体区域三重积分;
    (10)quadndg:超维长方体区域积分,需要NIT支持。
    展开全文
  • 从中我想比较价值观来决定谁赢 – 电脑或人。设置值工作正常,比较工作正常(纸覆盖岩石,岩石剪刀,剪刀剪纸)。但是,我不能让我的领带工作。无论什么时候,用户都被宣布为获胜者。Ahhh …废话…这将澄清:userPick...

    作业:岩纸剪刀游戏。

    我创建了一个枚举:

    enum Gesture{ROCK,PAPER,SCISSORS};

    从中我想比较价值观来决定谁赢 – 电脑或人。设置值工作正常,比较工作正常(纸覆盖岩石,岩石剪刀,剪刀剪纸)。但是,我不能让我的领带工作。无论什么时候,用户都被宣布为获胜者。

    Ahhh …废话…这将澄清:userPick是一个值为摇滚,纸或剪刀的字符串。我无法使用==来将userPick与computerPick进行比较,如以下所示,它可以从我的枚举转换为Gesture类型。

    if(computer == 1)

    computerPick = Gesture.ROCK;

    else

    if(computer == 2)

    computerPick = Gesture.PAPER;

    else

    computerPick = Gesture.SCISSORS;

    if(userPick.equals(computerPick))

    {

    msg = "tie";

    ++tieGames;

    }

    etc....

    我猜测摇滚不是等于ROCK的问题,或者String userPick无法匹配Gesture computerPick,因为后者不是String。但是,我无法在我的教科书或Oracle的Java教程中找到类似情况的例子,所以我不知道如何纠正这个问题?

    任何提示?

    谢谢

    ð

    展开全文
  • 可以参考之前写的:JavaC/C++进行DES/AES密文传输。现在老革命遇到新问题,需要开发IOS应用。之前了解了一定的加密知识,整个过程还是比较顺利的。    使用CommonCryptor.h的方法进行加解密。几个关键参数设置...
          可以参考之前写的:Java和C/C++进行DES/AES密文传输。现在老革命遇到新问题,需要开发IOS应用。之前了解了一定的加密知识,整个过程还是比较顺利的。
         使用CommonCryptor.h的方法进行加解密。几个关键参数设置如下:
         加密算法:kCCAlgorithmAES128 (kCCAlgorithmAES也一样);
         iv: 设置为nil就可以了。因为ECB方式不需要初始化向量。如果不是采用ECB,那么除了密钥之外,加解密放的初始化向量也必须一致。
         options: (kCCOptionPKCS7Padding | kCCOptionECBMode)。 后一个option比较明显,因为其他端也是采用ECB。第一个option就比较曲折。一开头到处找PKCS5Padding,发现体位都很复杂,差点想引入openssl。不过后面搜索到PKCS7Padding和PKCS5Padding是兼容的(黑线IOS和Java进行AES密文传输(ECB <wbr>+ <wbr>PKCS5Padding)),经测试还真的是兼容的。于是blabla搞定。
        网上找到一个开源的(NSData+CommonCrypto),撸来用了,写起来比较方便,加密代码:
    -(NSData*) encryptText:(NSString*)text {
        CCCryptorStatus status = kCCSuccess;
        NSData* result = [[text dataUsingEncoding:NSUTF8StringEncoding]
                             dataEncryptedUsingAlgorithm:kCCAlgorithmAES128
                             key:[self getAesKey]
                             initializationVector:nil   // ECB加密不会用到iv
                             options:(kCCOptionPKCS7Padding|kCCOptionECBMode)
                             error:&status];
        if (status != kCCSuccess) {
            DLog(@"加密失败:%d", status);
            return nil;
        }
        return result;
    }  
         解密代码如下:
    -(NSString*) decryptText:(NSData*)data {
        CCCryptorStatus status = kCCSuccess;
        NSData* result = [data
                          decryptedDataUsingAlgorithm:kCCAlgorithmAES128
                          key:[[self getAesKey]
                          initializationVector:nil   // ECB解密不会用到iv
                          options:(kCCOptionPKCS7Padding|kCCOptionECBMode)
                          error:&status];
        if (status != kCCSuccess) {
            DLog(@"加密失败:%d", status);
            return nil;
        }
        return [[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding];
    }
          经测试,可以与Java服务端(ECB + PKCS5Padding)进行文本的加解密操作。
    展开全文
  • 您可以使用面嵌入的思想,例如,这是在被高度引用的论文FaceNet中提出的,并在OpenFace中实现(这也是经过预先训练的)。 总体思路是:取一些预处理过的人脸(正面,裁剪,…)嵌入到一个... 他们甚至有一个比较演示here。

    您可以使用面嵌入的思想,例如,这是在被高度引用的论文FaceNet中提出的,并在OpenFace中实现(这也是经过预先训练的)。

    总体思路是:取一些预处理过的人脸(正面,裁剪,…)嵌入到一个具有特征的低维上,即输入中的相似人脸在输出中的欧几里德距离应较低。

    所以在你的例子中:使用嵌入的CNN将你的脸映射到缩小的空间(通常是128大小的向量)并计算欧几里德空间中的距离。当然,你也会聚集人脸,但那不是你的任务。

    除了一般的想法之外,这里还有一个好处:openface是一个很好的可供使用的实现,它的主页也解释了这个想法:Use a deep neural network to represent (or embed) the face on a 128-dimensional unit hypersphere.

    The embedding is a generic representation for anybody's face. Unlike other face representations, this embedding has the nice property that a larger distance between two face embeddings means that the faces are likely not of the same person.

    This property makes clustering, similarity detection, and classification tasks easier than other face recognition techniques where the Euclidean distance between features is not meaningful.

    他们甚至有一个比较演示here。

    展开全文
  • encodeURIencodeURIComponent的比较

    千次阅读 2019-06-03 15:53:11
    有时候我们在url跳转的时候往往会携带参数,...下面针对encodeURIencodeURIComponent做个比较: 相同点:都可以对url进行一个编码; 区别:encodeURI()不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、...
  • matlab开发-等长数据的绝对和比较分析。对CELCDF文件给出的Affymetrix数据进行单数组和比较分析…
  • 2.4 作用点与经济学 ...亚当•斯密的绝对优势李嘉图的比较优势均可以以上述函数数学化,当涉及多种产品的生产时,可以将以上函数进行相应扩展。 亚当•斯密的绝对优势李嘉图的比较优势是函数在特定初始状态下的
  • 它底层使用了CAS的方式,不断比较线程工作内存中的值和主内存中的值是否相等,如果相等的话执行对应原子操作(使用了do…while) 2. LongAdder原理 原理:将AtomicLong中的value值分成一个Cell数组,通过hash算法,对...
  • 记录比较过程中遇到的最小值最大值,我们并不是将每一个输入元素与当前的最小值最大值进行比较(这样做的代价是每个元素需要2次比较),而是成对地处理元素。先将一对输入元素互相比较,然后把较小者与当前...
  • 摘要:下面将对目前比较主流的三款工作流进行介绍和比较,然后通过三款流程引擎分别设计一个较典型的流程来给大家分别演示这三款创建流程的过程.这三款工作流程引擎分别是 Windows Workflow Foundation,NetBPM, ...
  • 这是我们第三次用 Real World example apps 对前端框架进行比较。 RealWorld example apps 为我们提供: RealWorld App 这不仅仅是“todo”。通常“todo”并没有传达出在构建真正的程序时所需的足够的知识视角,。...
  • Kafka会依照默认配置的策略,自动的均衡打散分布Partition、LeaderFollower。并在Broker宕机扩容时自动触发reloadbalancing,增加程序并行能力高效。 创建Topic时可指定parition数量来适应不同Topic的消息...
  • 纯文本文件比较和合并工具一直是软件开发过程中比较重要的组成部分,vimdiff 能够在比较出来的多处差异之间快速定位,很容易的进行文件合并操作。在需要快速比较和合并少量文件的时候,vimdiff是很好的选择。 ...
  • 使用Dreamweaver CS5进行PHP实时开…

    千次阅读 2016-02-24 11:29:46
    配置也挺简单,下面介绍配置示例。 1.新建一个PHP文件,点击保存设置好本地存盘目录。 2.点击站点菜单,新建一个站点,这里配置比较关键,如下图: CS5进行PHP实时开发及数组循环示例" TITLE="使用Dreamweaver ...
  • 还好,新方法探索出来了:通过博文预览点击图片可以看到原始大图,然后再进行链接复制,调整大小,就能得到一个完美的大图博客了即使进行200%的dpi页面放大,依然清晰锐利!】   先上大图普通传图的对比图   ...
  • 这样解耦性比较差.且仍需要model与model之间进行服务的调用..还是多多少少会影响服务器的性能. 所以考虑将消息服务提取出来.单独建一个model.进行专门的管理rocketmq的消费.这样虽然也需要其他model进行调用rocketmq...
  • 写算法的时候,经常会涉及到String的比较问题,但稍不注意的话用错比较方式的话,就会有不一样的结果 ...那String类中它的equals方法又是如何进行对比的呢,来看下源码 public boolean equals(Object anObject) { ...
  • 后面求解每一位的next值时,根据前一位进行比较。首先将前一位与其next值对应的内容进行比较,如果相等,则该位的next值就是前一位的next值加上1;如果不等,向前继续寻找next值对应的内容来与前一位进行比较
  • 它最开始出现的地方是在Object中(比较的是对象的地址),基本数据类型的不能调用该方法来进行比较。java的包装类型类库都对它进行了重写,重写后该方法比较的就是内容了。如:Integer,String… ==符号: 如果...
  • 到位原文地址:关于jaxpdom4j【saxdom对比】作者:Hope 周五晚上,问了一下lj她的html到xhtml的转化是怎么变得,当时她说是通过jaxp,在我印象中jaxp就是用来解析、创建xml,但是为什么要用这种方式呢?通过比较...
  • sql中有字段为text类型的不能被group by 示例: 例如有一个字段名为 detail 类型为text, select cast(detail as varchar(50)) as detail from 表1 group ...即先将字段强转为varchar类型,在进行查询group by
  • Android 使用动态加载框架DL进行插件化开发,时之沙2014博客插件化开发总的来说有以下几点好处(不同插件框架不一样): 宿主插件分开编译 并发开发 动态更新插件 按需下载模块 方法数或变量数爆棚 占坑,后续调研...
  • 文本处理命令 ...根据从输入行抽取的一个或多个关键字进行比较来完成排序,默认以整行为关键字按ASCII字符顺序进行排序 sort常用选项: -m 若给定文件已排好序,合并文件 -c 检查给定文件是否已排...
  • 形容词的比较最高级

    千次阅读 2006-06-28 16:20:00
    形容词的比较级最高级 英语中大多数形容...用原级进行比较时可以使用下面两种结构:1. 表示比较的双方相等,用”as…as”结构,表示“前者像后者一样”,即A + be + as + 形容词原级 + as + B.e.g. John is as ta
  • 为此,它将创建所有设备属性的表示并进行比较。 然后,创建差异并将其应用于本地或FHEM实例。 奖励:FHEM CLI也可以重新启动Homebridge…( ) :wrench: 安装 fhem-cli用JavaScript编写。 如果您已经安装了node...
  • 1、Collections java.util.Collections是一个集合的工具类 1.1、常见功能 public static boolean addAll(Collection&... list):对集合中的元素进行随机排列 public void static <T extends Comparable<? super
  • 1. Android对include的内容进行了分类,如:animator, core, effects, graphics,… 而opensource的只归类了一个corecg。绝大部分内容类似。 2. 同样Android对source也进行了归类。Opensource 的sgl目录对应到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,851
精华内容 740
关键字:

和…进行比较