精华内容
下载资源
问答
  • bash shell ,使用 let (( )) 和 [ ] 执行基本的算术操作 ,而进行高级操作时 , expr 和 bc 这两个工具也会经常用到。 let 直接上例子 #!bin/bash no1=4; no2=5; let result=no1+no2 echo $result  自加...

    在 bash shell 中 ,使用 let (( )) 和 [ ] 执行基本的算术操作 ,而进行高级操作时 , expr 和 bc 这两个工具也会经常用到。


    let

    直接上例子

    #!/bin/bash
    no1=4;
    no2=5;
    let result=no1+no2
    echo $result

     自加操作 和自减操作

    #!/bin/bash
    no1=10;
    let no1++
    echo $no1
    let no1--
    echo $no1
    

    简写形式

    #!/bin/bash
    no1=10
    let no1+=5
    echo $no1
    let no1-=6
    echo $no1
    

     [ ] 

    操作符 [ ] 的用法和 let 命令类似

    #!/bin/bash
    no1=2
    no2=3
    result=$[ no1 + no2 ]
    echo $result
    #也可以使用 $前缀
    result=$[ $no1 + 5 ]
    echo $result
    

    expr 

    #!/bin/bash
    no1=3
    no2=4
    result=`expr $no1 + $no2`
    echo $result
    
    result=`expr 5 + 10`
    echo $result
    
    result=$(expr $no1 + 5)
    echo $result
    
    

    以上方法只支持 证书 运算,不支持 浮点数运算

    浮点数运算需要用到  bc

    bc 用法范例

    #!/bin/bash
    echo '4 * 0.56' | bc

    #!/bin/bash
    no1=54
    result=`echo "$no1 * 1.5" | bc`
    执行 bc 命令时 可以传入参数 ,参数可以置于要执行的具体操作之前,同时以 分号 ; 作为定界符

    设置小数精度

    #!/bin/bash
    echo 'scale=2;3/8' | bc

    进制转换

    #!/bin/bash
    no=100
    echo "obase=2;$no" | bc
    
    no=1111
    echo "obase=10;ibase=2;$no" | bc






    展开全文
  • LaTeX最为擅长的就是数学公式的精彩输出,美观,漂亮。但是大公式的处理是很多用户比较棘手的问题,比如下面这个问题, 通常我们输入的大公式,主要有两种情况比较难处理: 1、因为长的分式,比如一个非常长的分子...
    LaTeX最为擅长的就是数学公式的精彩输出,美观,漂亮。但是大公式的处理是很多用户比较棘手的问题,比如下面这个问题,
    通常我们输入的大公式,主要有两种情况比较难处理:
    1、因为长的分式,比如一个非常长的分子或者分母,导致越界。这种情况基本是不可解的,因为除了把公式拆开没有更好的方案。另外,是建议作者尽量把长的部分做一个记号如:令A=bla bla bla  bla bla bla 这是数学里面经常见到的,那么然后我们可以写出较为简洁的公式 \frac{A}{B}.
    2、公式需要在定界符中间部分进行换行。如{AAAAAAAAAAAAAAAAAAAAAAAAA}我们想在中间换行,但是我们知道\left{  \right} 是不支持中间换行的。该怎么办?

    通常两个方案:
    1、\left{  \right}拆为 \left{  \right.      \\       \left.        \right} 这样就可以换行了。但是有个问题如下图:
    LaTeX技巧428:关于数学公式输入中括号的换行问题

    我们发现虽然拆开了,但是两行的括号大小不一致。所以,我们推荐下面的方法来解决。
    2、我们不使用自适应的定界符,而是用我们自己规定大小的括号,如
    \Bigg\{            中间拆分        \Bigg\}
    这样就可以大小一致了,也不会影响美观。
    如下是修改后的样子:
    LaTeX技巧428:关于数学公式输入中括号的换行问题 
    展开全文
  • shell各种括号作用()、(())、[]、[[]]、{}

    万次阅读 多人点赞 2014-09-26 11:13:40
    括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 ②命令替换。等同于`cmd`,...

    一、小括号,圆括号()

    1、单小括号 ()

       ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。
       ②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。
        ③用于初始化数组。如:array=(a b c d)
     
     

     2、双小括号 (( ))

        ①整数扩展。这种扩展计算是整数型的计算,不支持浮点型。((exp))结构扩展并计算一个算术表达式的值,如果表达式的结果为0,那么返回的退出状态码为1,或者 是"假",而一个非零值的表达式所返回的退出状态码将为0,或者是"true"。若是逻辑判断,表达式exp为真则为1,假则为0。
        ②只要括号中的运算符、表达式符合C语言运算规则,都可用在$((exp))中,甚至是三目运算符。作不同进位(如二进制、八进制、十六进制)运算时,输出结果全都自动转化成了十进制。如:echo $((16#5f)) 结果为95 (16进位转十进制)
        ③单纯用 (( )) 也可重定义变量值,比如 a=5; ((a++)) 可将 $a 重定义为6
        ④常用于算术运算比较,双括号中的变量可以不使用$符号前缀。括号内支持多个表达式用逗号分开。 只要括号中的表达式符合C语言运算规则,比如可以直接使用for((i=0;i<5;i++)), 如果不使用双括号, 则为for i in `seq 0 4`或者for i in {0..4}。再如可以直接使用if (($i<5)), 如果不使用双括号, 则为if [ $i -lt 5 ]。

    二、中括号,方括号[]

      1、单中括号 []

        ①bash 的内部命令,[和test是等同的。如果我们不用绝对路径指明,通常我们用的都是bash自带的命令。if/test结构中的左中括号是调用test的命令标识,右中括号是关闭条件判断的。这个命令把它的参数作为比较表达式或者作为文件测试,并且根据比较的结果来返回一个退出状态码。if/test结构中并不是必须右中括号,但是新版的Bash中要求必须这样。
        ②Test和[]中可用的比较运算符只有==和!=,两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq,-gt这种形式。无论是字符串比较还是整数比较都不支持大于号小于号。如果实在想用,对于字符串比较可以使用转义形式,如果比较"ab"和"bc":[ ab \< bc ],结果为真,也就是返回状态为0。[ ]中的逻辑与和逻辑或使用-a 和-o 表示。
        ③字符范围。用作正则表达式的一部分,描述一个匹配的字符范围。作为test用途的中括号内不能使用正则。
        ④在一个array 结构的上下文中,中括号用来引用数组中每个元素的编号。
     
     

     2、双中括号[[ ]]

        ①[[是 bash 程序语言的关键字。并不是一个命令,[[ ]] 结构比[ ]结构更加通用。在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生参数扩展和命令替换。
        ②支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。[[ ]] 中匹配字符串或通配符,不需要引号。
        ③使用[[ ... ]]条件判断结构,而不是[ ... ],能够防止脚本中的许多逻辑错误。比如,&&、||、<和> 操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报错。比如可以直接使用if [[ $a != 1 && $a != 2 ]], 如果不适用双括号, 则为if [ $a -ne 1] && [ $a != 2 ]或者if [ $a -ne 1 -a $a != 2 ]。
        ④bash把双中括号中的表达式看作一个单独的元素,并返回一个退出状态码。
    例子:
        if ($i<5)      此处有问题,改为if (($i<5))
        if [ $i -lt 5 ]  
        if [ $a -ne 1 -a $a != 2 ]  
        if [ $a -ne 1] && [ $a != 2 ]  
        if [[ $a != 1 && $a != 2 ]]  
           
        for i in $(seq 0 4);do echo $i;done  
        for i in `seq 0 4`;do echo $i;done  
        for ((i=0;i<5;i++));do echo $i;done  
        for i in {0..4};do echo $i;done  

    三、大括号、花括号 {}

    1、常规用法

        ①大括号拓展。(通配(globbing))将对大括号中的文件名做扩展。在大括号中,不允许有空白,除非这个空白被引用或转义。第一种:对大括号中的以逗号分割的文件列表进行拓展。如 touch {a,b}.txt 结果为a.txt b.txt。第二种:对大括号中以点点(..)分割的顺序文件列表起拓展作用,如:touch {a..d}.txt 结果为a.txt b.txt c.txt d.txt
        # ls {ex1,ex2}.sh  
        ex1.sh  ex2.sh  
        # ls {ex{1..3},ex4}.sh  
        ex1.sh  ex2.sh  ex3.sh  ex4.sh  
        # ls {ex[1-3],ex4}.sh  
        ex1.sh  ex2.sh  ex3.sh  ex4.sh  
        ②代码块,又被称为内部组,这个结构事实上创建了一个匿名函数 。与小括号中的命令不同,大括号内的命令不会新开一个子shell运行,即脚本余下部分仍可使用括号内变量。括号内的命令间用分号隔开,最后一个也必须有分号。{}的第一个命令和左括号之间必须要有一个空格。
     
     

      2、几种特殊的替换结构

    ${var:-string},${var:+string},${var:=string},${var:?string}

          ①${var:-string}和${var:=string}:若变量var为空,则用在命令行中用string来替换${var:-string},否则变量var不为空时,则用变量var的值来替换${var:-string};对于${var:=string}的替换规则和${var:-string}是一样的,所不同之处是${var:=string}若var为空时,用string替换${var:=string}的同时,把string赋给变量var: ${var:=string}很常用的一种用法是,判断某个变量是否赋值,没有的话则给它赋上一个默认值。
          ② ${var:+string}的替换规则和上面的相反,即只有当var不是空的时候才替换成string,若var为空时则不替换或者说是替换成变量 var的值,即空值。(因为变量var此时为空,所以这两种说法是等价的) 
          ③${var:?string}替换规则为:若变量var不为空,则用变量var的值来替换${var:?string};若变量var为空,则把string输出到标准错误中,并从脚本中退出。我们可利用此特性来检查是否设置了变量的值。
          补充扩展:在上面这五种替换结构中string不一定是常值的,可用另外一个变量的值或是一种命令的输出。

     3、四种模式匹配替换结构

    模式匹配记忆方法:
    # 是去掉左边(在键盘上#在$之左边)
    % 是去掉右边(在键盘上%在$之右边)
    #和%中的单一符号是最小匹配,两个相同符号是最大匹配。

    ${var%pattern},${var%%pattern},${var#pattern},${var##pattern}

         第一种模式:${variable%pattern},这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最短的匹配模式
         第二种模式: ${variable%%pattern},这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最长的匹配模式
         第三种模式:${variable#pattern} 这种模式时,shell在variable中查找,看它是否一给的模式pattern开始,如果是,就从命令行把variable中的内容去掉左边最短的匹配模式
         第四种模式: ${variable##pattern} 这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最长的匹配模式
         这四种模式中都不会改变variable的值,其中,只有在pattern中使用了*匹配符号时,%和%%,#和##才有区别。结构中的pattern支持通配符,*表示零个或多个任意字符,?表示仅与一个任意字符匹配,[...]表示匹配中括号里面的字符,[!...]表示不匹配中括号里面的字符
        # var=testcase  
        # echo $var  
        testcase  
        # echo ${var%s*e} 
        testca  
        # echo $var  
        testcase 
        # echo ${var%%s*e} 
        te
        # echo ${var#?e}  
        stcase
        # echo ${var##?e}  
        stcase
        # echo ${var##*e}  
    
        # echo ${var##*s}  
        e  
        # echo ${var##test}  
        case  

     

     4、字符串提取和替换

    ${var:num},${var:num1:num2},${var/pattern/pattern},${var//pattern/pattern}

           第一种模式:${var:num},这种模式时,shell在var中提取第num个字符到末尾的所有字符。若num为正数,从左边0处开始;若num为负数,从右边开始提取字串,但必须使用在冒号后面加空格或一个数字或整个num加上括号,如${var: -2}、${var:1-3}或${var:(-2)}。        
            第二种模式:${var:num1:num2},num1是位置,num2是长度。表示从$var字符串的第$num1个位置开始提取长度为$num2的子串。不能为负数。
           第三种模式:${var/pattern/pattern}表示将var字符串的第一个匹配的pattern替换为另一个pattern。。        
           第四种模式:${var//pattern/pattern}表示将var字符串中的所有能匹配的pattern替换为另一个pattern。
    [root@centos ~]# var=/home/centos
    [root@centos ~]# echo $var
    /home/centos
    [root@centos ~]# echo ${var:5}
    /centos
    [root@centos ~]# echo ${var: -6}
    centos
    [root@centos ~]# echo ${var:(-6)}
    centos
    [root@centos ~]# echo ${var:1:4}
    home
    [root@centos ~]# echo ${var/o/h}
    /hhme/centos
    [root@centos ~]# echo ${var//o/h}
    /hhme/cenths

     

    四、符号$后的括号

    (1)${a} 变量a的值, 在不引起歧义的情况下可以省略大括号。

    (2)$(cmd) 命令替换,和`cmd`效果相同,结果为shell命令cmd的输,过某些Shell版本不支持$()形式的命令替换, 如tcsh。

    (3)$((expression)) 和`exprexpression`效果相同, 计算数学表达式exp的数值, 其中exp只要符合C语言的运算规则即可, 甚至三目运算符和逻辑表达式都可以计算。

    五、使用

    1、多条命令执行

    (1)单小括号,(cmd1;cmd2;cmd3) 新开一个子shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后可以没有分号。

    (2)单大括号,{ cmd1;cmd2;cmd3;} 在当前shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后必须有分号, 第一条命令和左括号之间必须用空格隔开。
    对{}和()而言, 括号中的重定向符只影响该条命令, 而括号外的重定向符影响到括号中的所有命令。

     

    展开全文
  • 函数参数中的中括号代表什么

    千次阅读 2019-02-21 11:30:00
    函数参数中的中括号代表什么了?怎么有些只有半个括号,比如string[ 或 offset[;而有的却是length]][这样了? 简单的回答就是中括号表示这个参数非必须. 首先,这样使用中括号只是出于一种的表达形式的需要而已...

    看文档的时候产生的疑问,如一个node中的write方法:

    buf.write(string[, offset[, length]][, encoding])

    函数参数中的中括号代表什么了?怎么有些只有半个括号,比如string[ 或 offset[;而有的却是length]][这样了?

    简单的回答就是中括号表示这个参数非必须.

     

    首先,这样使用中括号只是出于一种的表达形式的需要而已(这样的表达形式很常见),这与api本身是没有关系的。

    然后,我们拿上面的例子来说

    buf.write(string[, offset[, length]][, encoding])

    对于buf.write这个方法:

    第一个参数string是必须的,他表示你要写入的内容;往后的offset、length、encoding这些参数都是非必须的。这些参数你可以不传(用[]括起来表示不传),但并不表示这三个参数你想怎么传就怎么传的,这里是有规则的,规则从这里中括号的对应关系中可以看出来。我们来看他的对应关系:[, offset[, length]] && [ encoding]。这表示offset、length和encoding你可以传或者不传,但是你要是没有传offset的话那length是一定不能传的,这就是为什么length要放在offset的括号里面的原因。

    所以整个例子理解起来就是:

    string必须传,offset、length、encoding可传可不传,但是offset不传的话length也不能传。

     

    转载于:https://www.cnblogs.com/ranyonsue/p/10411351.html

    展开全文
  • 即使是一些不常用的符号也有相应的模板,比如半中括号。下面就一起来学习用MathType打半中括号的方法。 MathType目前搞双十一钜惠活动,可以访问http://www.mathtype.cn/index.php?page=goumai&ref=11查看活动...
  • 括号()和大括号{} 主要包括一下几种 ${var} $(cmd) ()和{} $((exp)) ${var:-string},${var:+string},${var:=string},${var:?string} $(var%pattern),$(var%%p
  • Linux中括号的使用

    千次阅读 2017-08-03 20:47:08
    一、Linux、括号
  • 一、小括号()、中括号[]、大括号的区别  1>. 小括号():匹配小括号内的字符串,可以是一个,也可以是多个,常跟“|”(或)符号搭配使用,是多选结构的  示例1:string name = "way2014"; regex:(way|zgw) ...
  • LaTeX 插入数学公式

    万次阅读 多人点赞 2019-05-03 11:15:19
    一、常用的数学符号 1、小写希腊字母 下面的都要上面这个案例一样才有用。为了方便书写,以下两边都只写了一个$,而实际上两边要写 $$才有用, 如: 对应 α \alpha α 2、大写希腊字母  大写希腊字母只需要将小写...
  • Shell括号有其特殊的用法, 现总结如下: 1. 符号$后的括号 ${a} 变量a的值, 不引起歧义的情况下可以省略大括号. $(cmd) 命令替换, 结果为shell命令cmd的输出, 和`cmd`效果相同, 不过某些Shell版本不支持...
  • shell中括号使用总结

    千次阅读 2013-03-11 16:51:41
    这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下:  1.${var}  2.$(cmd)  3.()和{}  4.${var:-string},${var:+string},${var:=string},${var:?string}  5.$((exp))  ...
  • Latex数学公式-各类括号总结

    万次阅读 2018-07-25 22:58:58
    括号的显示是一个很有意思的东西。 说明 输入 输出 圆括号,小括号 $\left( \frac{a}{b} \right)$ ... 方括号,中括号 $\left[ \frac{a}{b} \right]$ [ab][ab]\left[ \frac{a}{b} \right]...
  • // 判断一个浮点数是否落范围串 // 范围串符合数学上区间的定义:[a,b]、(a,b)、(-x, 100)..... // “∞”用“x”表示 // #define PASS_OK (100) #define PASS_NO (102) #define ERR_RANGE_STR (-100) int In...
  • shell中括号的特殊用法 linux if多条件判断 https://www.cnblogs.com/jjzd/p/6397495.html 一. bash[ ] 单双括号 基本要素: Ø[ ] 两个符号左右都要有空格分隔 Ø内部操作符与操作变量之间要有空格:如 [ “a...
  • 题目如下:第一种方法: class Program { static void Main(string[] args... //一行数学公式,这个公式里有N个括号, //其中各括号可以互相嵌套,请你写一个函 //数找出指定的第N个括号中的全部内容。 string...
  • var obj = {name:"小太阳",age:18}; var name1 = obj.name;//使用点的方式 var name2 = obj["name"];//使用中括号的方式 注意: [里面的东西]是字符串,是键值;点方法是变量
  • 题目:假设一个数学算式包括圆括号"()",方括号”[]"和花括号“{}”三种类型,编写一算法判断表达式的括号是否配对。 分析:
  • 公式的打印输出括号时较难处理的一个环节,稍不注意,就容易遗忘括号的闭合,而结合使用CSScontent与quote属性可轻松实现括号的自动闭合,并能添加自定义样式。以要输出下面的公式为例:{a * [b / (c + d)]}...
  • 如何markdown插入数学公式

    千次阅读 2018-02-06 11:41:46
    一些扩展的Markdown语法支持采用LaTex语法写数学公式,而网页使用Mathjax插件来显示数学公式。 本教程介绍如何Markdown书写数学公式。 插入数学公式 Markdown插入数学公式的语法是$数学公式$和$$数学...
  • 数学符号论文的格式规范

    万次阅读 2018-05-31 11:22:44
    另外写几点投稿时新学到的几点:1,mathtype敲空格:ctrl+al+space2,多行公式编号要和最后一行靠右,这可以通过调整公式上升达到(这个时候一般是公式下降了很多,下降的太多了,所以才把编号搞的像居中一样,...
  • 如何Markdown数学公式?

    千次阅读 2019-05-10 16:29:38
    一些扩展的Markdown语法支持采用LaTex语法写数学公式,而网页使用Mathjax插件来显示数学公式。 本博客主要介绍如何Markdown书写数学公式。 一、插入数学公式 Markdown插入数学公式的语法是数学公式数学...
  • 本博文源于Latex,主要对Latex的数学公式进行学习,Latex的核心莫过于它的数学公式的宏包,宏包过于强大,以致于数学公式编辑起来非常优美。本博文分为:
  • LaTeX插入数学公式

    千次阅读 2018-09-06 10:44:54
    论文写作的过程,手动进行文字排版是一件繁琐的事情,我们可以使用LaTeX进行文字的排版以及数学公式的插入,可以很大地节省时间,专注于论文内容的写作.上篇博客介绍了LateX的安装. LaTeX公式基础 这里的基础嫌烦...
  • Markdown输入数学公式(MathJax)

    千次阅读 2018-02-04 23:56:51
    Markdown输入数学公式(MathJax) Markdown输入数学公式(MathJax) 1基本语法 1.1呈现位置 2希腊字母 3字母修饰 3.1上下标 3.2矢量 3.3字体 3.4分组 3.5括号 3.6求和、极限与积分 3.7...
  • 图像处理数学修炼的特别说明及其勘误表

    万次阅读 多人点赞 2017-01-18 17:00:12
    由清华大学出版社出版的《图像处理数学修炼》这本书是今年3月左右正式上市销售的。现在三个多月过去了,已经积累了大量的读者。但是,随着读者数量的增加,近来有部分读者跟我交流和咨询的时候表现出来许多...
  • 最近学习Shell脚本编程时,发现别人程序的 if-then代码块 中if的条件语句中存在 双括号(())、双中括号[[]] 的使用,因而查阅了相关资料,同时也看到了一篇不错的博文,对Shell脚本中括号的使用作出了总结,特此...
  • 笔记本允许您同一文档包含代码,文本,数学符号和图像。它们也很容易分享,因此其他人可以重复分析,例如用LIGO探测引力波。笔记本也被用作整个在线教科书。 我最喜欢的功能之一是使用LaTeX(发音为Lah-Tek)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 87,565
精华内容 35,026
关键字:

中括号在数学中的作用