书馨卡帮你省薪
欢迎光临中图网 请 | 注册

Octave程序设计

作者:于红博
出版社:清华大学出版社出版时间:2022-03-01
开本: 其他 页数: 560
中 图 价:¥77.4(6.0折) 定价  ¥129.0 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
本类五星书更多>

Octave程序设计 版权信息

  • ISBN:9787302587163
  • 条形码:9787302587163 ; 978-7-302-58716-3
  • 装帧:70g胶版纸
  • 册数:暂无
  • 重量:暂无
  • 所属分类:>>

Octave程序设计 本书特色

本书对Octave的上千个封装函数加以精挑细选,博采其他编程语言的经典概念,配合Octave编程的基础知识进行分类总结,力求读者可以由浅入深地理解Octave的奥妙。 专业、系统、全面地讲解Octave的编程知识! 配套丰富示例助力读者快速动手实践! 虽然我与Octave的接触仅限于印出九九乘法表和包装过几个附加工具的套件,但是已经能够感受到它的简洁与高效了。基于对开源软件的热爱,尤其是面对着强大竞争者的开源软件,教育推广工作所需要付出的努力,绝对不亚于软件的开发与维护。因此非常荣幸有这个机会将《Octave程序设计》这本书推荐给工程、科学相关工作者,以及所有想要了解Octave的用户。虽然使用习惯不易改变,但是只要大家愿意尝试开源软件,相信终究能够认识到开源的重要性,打开这本书将是达到此目标的关键。 ——赵惟伦 RPM Sphere 套件库管理者 本书对于Octave的编程知识讲解细致,并配有丰富的源代码,我在刚刚看到本书初稿的时候便感到眼前一亮。读者们可以像看其他程序设计图书一样,一边看书中的编程知识,一边打开自己的Octave客户端敲几行代码,以这样的方式领略本书的魅力。书中的编程基础知识部分深入浅出,面向对象部分讲解精细,可以帮助读者快速上手,并可以作为日常及教学用书。本书还提供丰富的用例,且覆盖面广,内容涵盖多个领域。由于Octave本身就是一款极为优秀的科学计算软件,加上作者卓越的编程技术,非常适合初学者和学生使用。特别荣幸向读者朋友们推荐本书。 ——闫保中 哈尔滨工程大学研究员 本书作为学习Octave编程的基础教程,内容翔实,对Octave的讲解深入浅出,适用于初学及打算深入应用Octave的读者。读者完全可以对照本书使用Octave进行实际的科学计算,而不需要太强的编程基础。本书在编排上层次清晰,充分考虑了读者的自学方式。除本书给定的示例外,读者也能对照本书的内容进行其他程序的编写,具有极强的泛用性,完全符合教材和工具书的定位。 在讲解程序设计方法的同时,本书还在必要时配有常见错误用例,可以帮助读者快速定位自身学习的误区,加深对知识的理解。推荐读者选用《Octave程序设计》作为入门和学习科学计算和程序设计的基础教程。 ——吴晗 北京航空航天大学博士

Octave程序设计 内容简介

Octave为GNU项目下的开源软件,旨在解决线性和非线性的数值计算问题。本书由浅入深,全面讲解Octave的功能及编程方法,帮助读者尽快掌握Octave的应用技巧。 本书共14章,层次分明,将复杂的软件体系分解为运算符、数据类型、数据格式等方面,分类进行详细讲解,并提供大量实用程序示例,让读者不仅可以在学习过程中减小阻碍,在实际的科学研究中也方便查找。*后一章讲解Octave不错应用,内容覆盖全面。 本书针对零基础的读者,有Octave或者MATLAB经验的程序设计人员也可以学到很多Octave专享的特性。

Octave程序设计 目录

目录 第1章绪论 第2章Octave简介 2.1Octave的起源 2.2Octave的安装方式 2.2.1源码安装 2.2.2在不同Linux版本上安装Octave软件 2.2.3从Homebrew包管理器安装Octave软件 2.2.4在其他UNIX发行版上安装Octave软件 2.2.5在WSL子系统中安装Octave软件 2.2.6在Docker中安装Octave镜像 2.2.7在Singularity中安装Octave镜像 2.2.8安装Flatpak技术的Octave封包 2.2.9从Snap包管理器安装Octave封包 2.2.10从Guix包管理器安装Octave软件 2.2.11从Spack包管理器安装Octave软件 2.2.12安装Jupyter客户端的Octave内核 2.2.13使用MXE交叉编译并安装Octave软件 2.3Octave的用户界面 2.3.1Linux系统上的Octave 2.3.2Octave的GUI模式 2.3.3Windows系统上的Octave 2.3.4macOS系统上的Octave 2.4Octave的运行要求 第3章运算符与输入、输出 3.1运算符号 3.1.1代数运算符 3.1.2逻辑运算符 3.1.3逻辑运算的零值 3.1.4按元素逻辑运算和(狭义的)逻辑运算的区别 3.1.5赋值运算符 3.1.6复合运算符 3.1.7其他符号 3.1.8运算符的运算顺序 3.1.9运算符的优先级 3.2简单的运算函数 3.3运算符重载 3.4输入、输出函数 3.4.1文件输入、输出函数 3.4.2简单输入函数 3.4.3行输出函数 3.4.4格式化输入、输出函数 3.4.5终端输入、输出函数 3.4.6二进制输入、输出函数 第4章数据类型 4.1数据类型介绍 4.1.1数据类型分类 4.1.2实际意义上的零值 4.1.3原始数据类型判断 4.2数据类型转换 4.2.1自动类型转换 4.2.2强制类型转换 4.2.3数据大小端转换 4.3预定义的特殊数据 第5章数据格式 5.1变量属性 5.1.1由Octave工作空间管理的属性 5.1.2数字类型数据的输入方式 5.2数据精度 5.2.1预置的*大值和*小值 5.2.2预置的无穷小量 5.2.3浮点型格式能够存储的*大整数值 5.3数据的存储空间 5.3.1基本数据类型的存储空间 5.3.2基本变量类型的0值 5.3.3单引号和双引号与字符串的关系 5.3.4转义字符 5.4字符串 5.4.1字符和字符串的关系 5.4.2字符串的索引和切片 5.4.3字符串拼接 5.4.4创建字符串数组 5.4.5字符串数组自动扩充 5.4.6字符串截取 5.4.7字符串分割 5.4.8字符串替换 5.4.9字符串清除 5.5数组 5.5.1数组元素的索引 5.5.2数组的切片 5.5.3创建高维数组 5.5.4拼接二维数组 5.5.5拼接高维数组 5.5.6重新排列矩阵 5.5.7循环更改矩阵 5.5.8改变矩阵维度 5.5.9矩阵排序 5.5.10改变矩阵形状 5.5.11截取或补齐矩阵元素 5.6元胞 5.6.1元胞的索引 5.6.2元胞的串级索引 5.6.3元胞的切片 5.6.4元胞的串级切片 5.6.5元胞的精确切片 5.6.6创建字符串元胞 5.7数据格式转换 5.7.1数字类型变量转换 5.7.2整数类型变量转换 5.7.3元胞类型变量转换 5.7.4二进制类型变量转换 5.7.5十进制类型变量转换 5.7.6十六进制类型变量转换 5.7.7任意进制类型变量转换 5.7.8字符串转换 5.7.9函数句柄转换 5.7.10矩阵转换 5.7.11编码格式转换 5.7.12转义与反转义 5.7.13图形句柄转换 5.8数据查询 5.8.1对比数组分量 5.8.2查询数组分量 5.8.3查询图形对象 5.8.4查询图像对象 5.8.5查询字符串分量 5.8.6查询字符索引 第6章使用Octave进行简单计算 6.1计算之前的准备工作 6.2只用运算符进行计算 6.2.1矩阵自动扩展特性 6.2.2只用运算符进行计算的示例 6.3使用简单的运算函数进行计算 6.3.1通用代数函数 6.3.2通用判断函数 6.3.3通用逻辑函数 6.3.4矩阵基本函数 6.3.5矩阵构造函数 6.3.6矩阵代数函数 第7章脚本 7.1脚本命名规则 7.1.1脚本名称限制 7.1.2脚本路径规则 7.1.3Octave的关键字 7.2脚本结构组成 7.2.1Shebang 7.2.2注释 7.2.3帮助文本 7.2.4运算语句与注释风格 7.3调用脚本时消除歧义 7.4脚本运算流程 7.4.1上下文 7.4.2source()函数指定上下文 7.4.3批量运行脚本 7.4.4嵌套运行脚本 7.4.5使用脚本加载函数 第8章函数 8.1函数命名规则 8.2函数定义方法 8.2.1函数的层次结构 8.2.2eval()函数用法与局部变量作用域改变 8.2.3函数的全局变量 8.2.4全局变量顶替局部变量 8.2.5函数的持久变量 8.2.6申请固定内存空间 8.2.7函数的调用优先级 8.2.8自动加载的函数 8.3输入输出 8.3.1判断函数 8.3.2参数列表判断 8.3.3可变参数列表 8.3.4遍历输入参数列表 8.3.5使用占位符略过参数 8.3.6参数列表分解 8.3.7返回参数检查 8.4函数设计思想 8.4.1函数调用的方法 8.4.2函数传入参数的方法 8.4.3递归式函数 8.5内联函数 8.6逻辑控制 8.6.1顺序逻辑 8.6.2循环逻辑 8.6.3判断逻辑 8.6.4分支逻辑 8.6.5返回语句 8.6.6跳出语句 8.6.7继续语句 8.7回调函数 8.7.1函数的回调思想 8.7.2触发一个回调函数句柄 8.7.3自动绑定的回调函数 8.7.4手动绑定、解绑监听器 8.8测试函数 8.8.1测试步骤 8.8.2测试原则 8.8.3断言函数 8.8.4断言失败函数 8.8.5标准测试项 8.8.6测试程序的其他语法 8.8.7测试函数的输出级别 8.9函数的重载 8.9.1函数的存储空间 8.9.2静态内存分配函数 8.9.3调用内置函数时消除歧义 第9章句柄 9.1句柄介绍 9.2句柄的用途 9.2.1简化函数名 9.2.2引用函数 9.2.3使用句柄消除函数歧义 9.3句柄的特性 9.3.1句柄允许指向的内容 9.3.2feval()函数用法与调用句柄 9.4句柄的常用用法 9.4.1句柄赋值 9.4.2从句柄中获得值 9.4.3匿名函数 9.4.4获得图形对象的句柄 9.4.5设置句柄的参数值 第10章Octave的矩阵操作 10.1创建空间 10.1.1创建线性空间 10.1.2创建对数空间 10.2特殊矩阵 10.2.1生成几种常见特殊矩阵 10.2.2生成眼矩阵 10.2.3生成全1矩阵和全0矩阵 10.2.4按矩阵复制矩阵 10.2.5按元素复制矩阵 10.3随机矩阵 10.3.1标准随机数生成函数 10.3.2派生随机数生成函数 10.3.3随机排列生成函数 10.4示例矩阵 10.5稀疏矩阵 10.5.1稀疏矩阵初始化 10.5.2稀疏矩阵赋值 10.5.3稀疏矩阵的存储空间 10.5.4从外部文件读取稀疏矩阵 第11章GUI控件 11.1文件管理 11.1.1文件夹选择器 11.1.2文件选择器 11.1.3文件保存器 11.2弹窗 11.2.1错误弹窗 11.2.2帮助弹窗 11.2.3文本框弹窗 11.2.4列表弹窗 11.2.5信息框 11.2.6警告弹窗 11.2.7询问弹窗 11.2.8对话框 11.2.9自定义弹窗 11.3可视化组件 11.3.1可视化表格 11.3.2可视化菜单 11.3.3可视化上下文菜单 11.3.4可视化面板 11.3.5单选按钮 11.4工具栏 11.4.1工具栏按钮 11.4.2工具栏拨动开关 11.5进度条 11.6GUI通用功能 11.6.1查询或设置用户自定义的GUI数据 11.6.2返回GUI句柄 11.6.3GUI功能查询 11.6.4GUI运行模式查询 11.6.5精确移动窗口 11.6.6暂停与恢复GUI之外的程序执行 第12章绘图 12.1函数图像绘图函数 12.1.1使用直角坐标绘图 12.1.2同时使用两个独立的y轴绘制两条曲线 12.1.3使用三维坐标绘图 12.1.4使用函数句柄绘图 12.1.5使用给定函数绘图 12.1.6使用极坐标绘图 12.2统计图绘图函数 12.2.1直方图 12.2.2条形图 12.2.3茎叶图 12.2.4阶梯图 12.2.5树干图 12.2.6散点图 12.2.7三维散点图 12.2.8带有分区的散点图 12.2.9帕累托图 12.2.10误差统计图 12.2.11饼图 12.2.12玫瑰图 12.3等高线图绘图函数 12.3.1二维等高线图 12.3.2三维等高线图 12.4向量绘图函数 12.4.1罗盘图 12.4.2向量图 12.4.3三维向量图 12.4.4羽毛图 12.5改变函数图像的刻度 12.5.1x轴为对数刻度、y轴为线性刻度的函数图像 12.5.2x轴为线性刻度、y轴为对数刻度的函数图像 12.5.3x轴为对数刻度、y轴为对数刻度的函数图像 12.5.4x轴为对数刻度、y轴为线性刻度的误差统计图 12.5.5x轴为线性刻度、y轴为对数刻度的误差统计图 12.5.6x轴为对数刻度、y轴为对数刻度的误差统计图 12.6颜色填充 12.6.1伪彩色填充 12.6.2基线填充 12.6.3闭区域填充 12.7彗星图 12.7.1二维彗星图 12.7.2三维彗星图 12.8平面绘图函数 12.8.1三维网格面 12.8.2网格面的隐藏控制 12.8.3三维阴影面 12.8.4带有范数信息的三维阴影面 12.8.5带状图 12.8.6设定阴影效果 12.8.7瀑布图 12.9通用绘图附件 12.9.1标题 12.9.2图例 12.9.3文本 12.9.4坐标轴标签 12.9.5等高线标签 12.9.6坐标轴边框 12.9.7网格线 12.9.8颜色条 12.9.9提醒符号 12.9.10缩放选项 12.9.11旋转选项 12.9.12三维旋转功能 12.9.13缩放坐标轴 12.9.14舍弃或保留绘图 12.9.15返回绘图状态 12.9.16清除当前图形窗口 12.9.17清除当前轴对象 12.9.18将当前图形窗口显示在屏幕的*顶层 12.9.19删除某个图形对象 12.9.20关闭图形窗口 12.9.21关闭当前图形窗口并且清除所有有关的对象 12.9.22文本显示风格 12.10绘制空的画布 12.11绘制子图 12.12动态重绘 12.12.1自动动态重绘 12.12.2手动动态重绘 12.13强制重绘 第13章Octave高级应用 13.1首选项配置 13.2环境变量管理 13.3创建Java类型变量 13.3.1配置环境变量 13.3.2实例化Java对象 13.3.3实例化Java数组对象 13.3.4调用Java方法 13.3.5访问Java变量 13.4Bug管理与提交 13.4.1提出Bug 13.4.2跟踪Bug 13.5编写与调用文档 13.5.1文档的标题部分 13.5.2文档的正文部分 13.5.3文档的从属关系 13.5.4生成文档时支持的可选参数 13.6异常类型 13.6.1异常捕获逻辑 13.6.2断点恢复逻辑 13.7文件后缀为oct类型的程序 13.7.1编译oct程序 13.7.2编译oct程序时支持的可选参数 13.7.3编译oct程序时支持的环境变量 13.7.4oct程序从编译到运行 13.8结构体 13.9类 13.9.1类的定义方式 13.9.2成员变量的定义方式 13.9.3成员常量的定义方式 13.9.4方法 13.9.5静态方法 13.9.6访问权限 13.9.7实例化一个对象 13.9.8构造方法 13.9.9向方法中传入自身实例 13.9.10继承 13.9.11句柄类 13.9.12普通类的对象复制 13.9.13句柄类的对象复制 13.9.14方法重载 13.9.15调用没有被方法重载的超类方法 13.9.16调用被方法重载的超类方法 13.10类Linux命令调用 13.11封装工具箱 13.12日期时间函数 13.12.1时间戳 13.12.2时间字符串 13.12.3本地时间 13.12.4世界时间 13.12.5将时间结构体解析为时间戳 13.12.6将时间结构体解析为时间字符串 13.12.7当前时间 13.12.8日期字符串 13.12.9将时间数组解析为天数 13.12.10将时间数组解析为日期字符串 13.12.11将当前时间解析为时间数组 13.12.12时间运算 13.12.13日历矩阵 第14章Octave实例 14.1字母大小写转换 14.2坐标变换 14.2.1坐标系变换 14.2.2坐标旋转变换 14.3函数图像拼接 14.4改变函数图像的显示效果 14.5改变函数图像的坐标轴 14.6显示函数图像的其他信息 14.7规划问题 14.7.1线性规划问题 14.7.2二次型规划问题 14.8*优解问题 14.8.1无约束条件下的*优解 14.8.2有约束条件下的*优解 14.8.3非线性方程组求解(迭代法) 14.9图像处理 14.9.1图像大小调整 14.9.2图像旋转 14.9.3图像裁剪 14.9.4图像对比度调整 14.9.5图像色度调整 14.9.6图像颜色反转 14.9.7图像傅里叶变换 14.9.8图像特征识别 14.10声频处理 14.11自动控制学科应用 14.11.1创建控制系统模型 14.11.2控制系统模型特征 14.11.3时域分析 14.11.4频域分析 14.11.5极点配置 14.11.6*优控制 14.11.7稳健控制 14.11.8解算器 14.11.9模型降阶 14.11.10控制器降阶 14.12艺术学科应用 14.12.1颜色调节 14.12.2颜色设计 14.12.3平面图像上色与物体上色 第15章商道之我是饭店经理 15.1新的机会(设计饭店类) 15.2招兵买马(设计厨师类) 15.3得力的厨师长(设计主管类) 15.4培训服务员(设计经理类) 15.5潜心研究(设计GUI) 15.6老板的肯定(设计厨师适配器类) 15.7大鹏展翅(处理人员异动) 15.8大结局(设计控制器)
展开全部

Octave程序设计 作者简介

于红博,曾在某世界500强公司担任测试开发工程师,参与内部框架的维护和开发。主要涉及科学计算、图像处理、自动化系统设计、模式识别、神经网络等分支的算法设计和程序设计领域。在业余时间爱好编写、审阅及完善开源软件,对于开源软件的发展做出了一定的贡献。

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服