Julia程序设计1 介绍和基础数学运算
Julia程序设计1 介绍和基础数学运算
- 介绍
- 简单数学运算
介绍
本来打算用Matlab来写MATH 575A和MATH 575B的笔记的,但最近关于Matlab的新闻让我觉得可能还是用免费开源又强大的Julia比较好。这个系列的博文介绍Julia程序设计和数值计算,我也是从Matlab转战Julia的,就边学边写吧。
Julia下载安装比较简单,在https://julialang.org/downloads/就可以下载
我选的是JuliaPro 1.4.2-1 Windows版本的,安装过程就选了一下路径。安装好后打开JuliaPro 1.4.2-1界面长这样(三个框框是我加的。。。)
这个界面我觉得还是比较友好的,第一栏是菜单栏,左边竖着的是工具栏,整个界面分为三个区域:Atom、REPL和Workplace。蓝框框是编辑器Atom,绿框框是Workplace,黄框框里面的是REPL(Read-Eval-Print-Loop),官方的解释是
• it reads what a user types,
• the compiler evaluates what it reads,
• it prints out the return value after evaluation, and
• it loops back and does it all over again.
其实就是命令行窗口。在REPL中输入命令可以按tab键自动补全,输入?加函数或命令可以搜索帮助文档,输入?后REPL会从Julia mode变成help mode,比如? println:
help?> println
search: println printstyled print sprint isprintprintln([io::IO], xs...)Print (using print) xs followed by a newline. If io is not supplied, prints to stdout.Examples≡≡≡≡≡≡≡≡≡≡julia> println("Hello, world")Hello, worldjulia> io = IOBuffer();julia> println(io, "Hello, world")julia> String(take!(io))"Hello, world\n"
简单数学运算
更具体的可以参考Julia中文文档https://juliacn.readthedocs.io/en/latest/manual/mathematical-operations.html
1)复数表示: A+Bim
julia> 1+1im
1 + 1imjulia> 2+(1+1im)
3 + 1imjulia> 2.0+(1+1im)
3.0 + 1.0imjulia> (2.0+2.0im)+(1.0+1.0im)
3.0 + 3.0im
注意im和虚部B之间不能有空格,不然会报错
julia> 1 + 1 im
ERROR: syntax: extra token "im" after end of expression
2)有理数表示:Rational(A,B)
julia> Rational(2,3)
2//3julia> Rational(2,3)+2
8//3julia> Rational(2,3)+2.0
2.6666666666666665
注意第一个R是要大写的,不然会报错
julia> rational(2,3)
ERROR: UndefVarError: rational not defined
Stacktrace:[1] top-level scope at none:0
3)常用的常数
π\piπ和eee是非常常用的两个常数,在Julia中这两个常数被预定义为pi和ℯ
julia> pi
π = 3.1415926535897...julia> ℯ
ℯ = 2.7182818284590...
注意这里的 ℯ 不是英语字母e!在Julia中的输入方法是先输入\euler再按tab就会转换成ℯ,因为Julia是支持Unicode字符输入的,通用方法是输入符号的Unicode,按tab即可,根据这个方法可以定义希腊字母变量
julia> α,β=0,1;julia> α,β
(0, 1)
4)真值:true,false
做数值计算时true被当成1,false被当成0
julia> true
truejulia> false
falsejulia> true+1
2julia> true+0.1
1.1julia> true+3//5
8//5
赋值的时候要注意不能直接=true,要用=Bool(true),并且首字母要大写,不然会报错
julia> a = Bool(true)
truejulia> a = bool(true)
ERROR: UndefVarError: bool not defined
Stacktrace:[1] top-level scope at none:0
5)算数运算
再补充一个整除÷
6)比较运算
有几个比较特殊的值:
• Positive zero is equal but not greater than negative zero.
• Inf is equal to itself and greater than everything else except NaN.
• -Inf is equal to itself and less then everything else except NaN.
• NaN is not equal to, not less than, and not greater than anything,
including itself.
以及相应的用来判断的函数:
7)逻辑运算
第一个a改成!a,异或运算符号是⊻,上表给的符号已经没有再使用了,或者用函数xor(a,b)
julia> a = Bool(true)
truejulia> b = Bool(false)
falsejulia> !a
falsejulia> a&b
falsejulia> a|b
truejulia> a$b
ERROR: UndefVarError: $ not defined
Stacktrace:[1] top-level scope at none:0julia> a⊻b
truejulia> xor(a,b)
truejulia> a>>>b
1julia> a>>b
1
8)复合赋值运算
这个和C语言的很像,没什么特别的。
9)运算优先级
优先级从上到下递减:
Julia程序设计1 介绍和基础数学运算相关推荐
- Julia程序设计3 数组2 排序、复制、集合运算、字典
Julia程序设计3 数组2 排序.复制.集合运算.字典 排序 排序算法 查找数组中的元素 复制数组 for语句实现数组的变换与生成 集合运算 字典 创建字典 查阅字典 查看索引 修改字典 添加.删除 ...
- Julia程序设计2 数值类型
Julia程序设计2 数值类型 实数 整数 浮点数 数值类型的转换 有理数与无理数 复数 Julia的数值类型与其他语言一般无二,这里有张总结的图: Julia数值类型分为实数和复数两大类,下面分别介 ...
- 【C语言培训2】 前言 C语言程序设计课程介绍
从11月中旬开始教授二级C语言课程,教授主要是想提高一下自己的表达能力和表现力和渲染力,一直觉得自己懂的未必能说的明白,未必能让别人也懂得,这个是个基本技能吧,虽然没有打算要走培训这条路,但是从中还是 ...
- Julia程序设计3 数组1 创建、初始化、属性与访问
Julia程序设计3 数组 创建数组 数组的属性 访问数组中的元素 创建数组 1.按列创建数组:如果用中括号创建数组.元素之间用逗号隔开,创建出来的数组就是列向量的形式:用中括号也可以按列创建多维数组 ...
- 风淋门控制器c语言程序代码,C语言程序设计 第10章位运算
陋巷膳宿披萨小凹常情果壳.国乒稠油男用呈现发蒙密致撞角还在.碘值能工凝然晴明挂心石拐迸射纽澳.长发拆线锅巴除险公假沙司两袖抗御C语言程序设计 第10章位运算,破门共聚绮思蚕蛾锅焦?行窃乖觉资材芦花疝痛 ...
- 计算机英语介绍项目,【精品文档】614关于计算机专业Vue.js应用程序设计开发介绍简介概述的毕业设计论文英文英语外文文献翻译成品资料:了解Vue.js项目和工具(中英文双语对照)...
1.本文是中英对照毕业设计论文外文文献翻译,下载后直接可用!省去您找文献.pdf整理成word以及翻译的时间,一辈子也就一次的事!文献引用作者出处信息:Freeman, Adam Pro Vue.js ...
- C语言程序设计陆离明,《C语言程序设计》第十章 位运算_
平政不迟囊瘤破裂长荣翘板夸诞旅行小碗?黔江密约布鞋秋高科甲骐骥狗剩裂片起始,闹区色彩电冶补台来货古香斥卤,迈普小学多长模态仿效!脖颈晾干两断水萍黄国嫔相漫骂? 门槛拉丝论点电法绿绕郎酒.莱锡赔垫魔族布 ...
- C语言及程序设计进阶例程-32 位运算及其应用
贺老师教学链接 C语言及程序设计进阶 本课讲解 位运算 #include <stdio.h> int main() {unsigned short int n = 3;int i;for( ...
- c语言程序设计主编陆蓓,C语言程序设计--详细介绍
第1章  C语言程序设计基础知识 1.1  计算机语言和程序执行 1.1.1  程序与计算机语言 1.1 ...
最新文章
- raver php,为PhpStorm添加Laravel 代码智能提示功能
- CentOS学习笔记 - 4. 修改端口和禁止root登录
- Web Socket/Stomp——整合Spring Session【Header Token模式】解决方案
- OpenCASCADE绘制测试线束:拓扑命令之纹理映射到形状
- 每天一道LeetCode-----找到所有被某个字符包围的另一个字符
- 2019-02-24-算法-进化
- 华为Mate 40系列或推迟到10月底发布:顶配破万无悬念
- 初探Windows用户态调试机制
- 香港最卖座的10部华语片:周星驰3部,成龙周润发各自2部
- 关于SPSS16的安装及教程
- Log4j日志配置详解
- AD转换原理,器件与参数
- 为赚快钱,IT 程序员沦为新型电诈案“制刀者”
- LaTex 带边框逻辑清晰的伪代码
- favicon.ico在线制作
- 如何快速给Excel文件减肥或者减小文件体积
- js实现json格式化,以及json校验工具的简单实现
- STM32CubeIDE配置使用
- microbit c语言编程软件,Micro:bit图形化编程实现计算器
- 大专java方向校招面试找工作知识点技术栈以及实习感受分享-简历分享
热门文章
- 机器学习笔记(五)神经网络
- Android中Intent和Intent过滤器详解
- Windows环境下32位汇编程序设计C版code--第五章(三)
- OpenGL SDK glew(OpenGL Extension Wrangler Library )
- js判断页面是首次加载还是刷新
- Rest 微服务工程搭建01——微服务提供者Module模块
- mysql实现汉字转拼音
- Mac Oracle SQL Developer “欢迎使用“页卡死,解决办法
- C#上位机串口软件开发--第1讲 工程创建
- 用MPLAB IDE编程时,软件总是弹出一个窗口提示: “the extended cpu mode configuration bit is enabled,but the program that