探索数学的奇妙世界:Mathematica之美【上】

文章目录

  • 一、二维函数作图
    • 1.二维函数作图命令Plot
    • 2.曲线样式
    • 3.重画和组合图形
    • 4.二维函数绘图
  • 二、三维函数作图
    • 1.函数作图命令Plot3D
    • 2.三维参数作图
  • 三、等值线图和密度图
    • 1.等值线图
    • 2.密度图
    • 3.图形之间的转换
  • 四、数据绘图
    • 1.二维数据绘图
    • 2.三维数据绘图
  • 总结


一、二维函数作图

1.二维函数作图命令Plot

用Pot命令能画出一元函数在指定区间上的图形,Plot命令绘制直角坐标系中函数的图形.Plot所绘图形的类型是Graphics.例如:

Plot[x Sin[1/x], {x, -0.5, 0.5}]

请添加图片描述
Plot命令的一般形式:
Plot[f,{x,xmin,xmax},选项]
在区间{x,xmin,xmax{上,按选项定义值画出函数f的图形
Plot[{f1,f2,…{,{x,xmin,xmax,选项]
在区间{x,xmin,xmax上,按选项定义的值同时画出函数f1,f2,…的图形.

在Plot中可以不设置任何选项,系统设置默认值

Plot[{Sin[x], Sin[2 x]}, {x, -0.5, 6.7}]

请添加图片描述
添加标记:

Plot[(x^2 - x) Sin[x], {x, 2, 16}, AxesLabel -> {"x", "f(x)"}]

请添加图片描述

Plot[Sin[x], {x, 0, 3}, Frame -> True, GridLines -> Automatic]

请添加图片描述

AspectRatio
图形的高度与宽度的比例,默认值是1/GoldRatio,其
中GoldRatio=0.618.如果要图形按实际情况显示,设
置的选项值是Automatic.
Axes
是否画坐标轴以及设置坐标轴的中心位置,默认值是
True,画出坐标轴.
Axes->None不设坐标轴;
Axes->{x0,y0}设置坐标轴中心为{x0,y0}.
AxesLabel
设置坐标轴上的标记符号.默认值是None,不做标记.
用}”字符串1”,”字符串2”的形式定义轴的横坐标和
纵坐标标记.
Frame
在图形周围是否加框.默认值是False;
Frame->True画出边框.
Ticks
设置坐标轴上刻度的位置,默认值是Automatic,由系
统自动定位.Ticks->None不标坐标刻度;
Ticks->{xi,yi}规定x轴和y轴的刻度值,
FrameLabel
是否在框的周围加标志.默认值是None.
FrameLabel->{xmlab,ymlab,.xplab,yplab}从底边
开始按顺时针方向,设置外框的边缘名称.
PlotLabel
图形的名称标志.默认值是None,不列标志.PlotLabel
->lab则规定图名是lab.任意输出格式给出的表达式
都可作为图名.字符串用“text”的形式给出.
PlotColor
是否产生彩色颜色.默认值是True.
Display Function
说明用什么机制显示图形.默认值$Display Function,
其意义是立即在屏幕上显示图形.如果要在Plot中不
输出图形,则再现图形时则需要设置选项Display
Function -DisplayFunction.
PlotRange
指定绘图的范围.系统用默认值时会自动切除区间奇
点附近区域的曲线.PlotRange->All画出所有点;
PlotRange->yo,y1}画出函数值在[yo,y1]范围内
的图;PlotRange->{xo,x1},{yo,y1}画出区间在
[x0,x1],函数值在[yo,y1]的图形.

以上为Plot函数的第一类可选项

2.曲线样式

Plot的第二类选项
在这里插入图片描述
曲线样式:
在这里插入图片描述

Plot[{Sin[2 x], x}, {x, -1.7, 1.7}, 
 PlotStyle -> {Dashing[{0.01, 0.04, 0.01, 0.04}], 
   Dashing[{0.03, 0.01, 0.01, 0.02}]}]

请添加图片描述

3.重画和组合图形

Show命令组合图形和重新定义图形选项

pic1 = Plot[x^5 - Cos[x], {x, -2, 2}]

请添加图片描述

Show[pic1, Frame -> True, GridLines -> Automatic]

请添加图片描述
在这里插入图片描述

GraphicsArray组合多个图形成为一个数组,图形数组的数组元素是一幅图.常用形式有:
在这里插入图片描述

p1 = Plot[x^3 - 3 x + 1, {x, -5, 5}];
p2 = Plot[(x - 1) (x + 1) (x - 1.5) (x + 2.5) (x - 3), {x, -5, 5}];
p3 = Plot[x^2 Sin[x] + 1.2, {x, -5, 5}]
Show[GraphicsArray[{p1, p2, p3}]]

在这里插入图片描述

Show[GraphicsArray[{{p1, p2}, {p2, p3}}]]

在这里插入图片描述

tt = Table[
   Plot[Sin[x + t], {x, 0, 2 Pi}, DisplayFunction -> Identity], {t, 0,
     8}];
Show[GraphicsArray[Partition[tt, 3], 
  DisplayFunction -> $DisplayFunction]]

在这里插入图片描述
图形表达式
操作命令:
在这里插入图片描述
如果计算的对象不是显函数.例如:是一个函数表达式的表.Mathematica在绘图时要先计算出计算对象的值,然后再计算构造图形所需的x和相应的函数值f(x).这时计算对象前必须加以Evaluate,.以便对计算对象强行求值.
在这里插入图片描述

Plot[Evaluate[D[x^2/(10 + x), {x, 2}]], {x, -6, 6}]

请添加图片描述

4.二维函数绘图

ParametricPlot
在这里插入图片描述

ParametricPlot[{Sin[t], Sin[2 t]}, {t, 0, 2 Pi}]

请添加图片描述

ParametricPlot[{Sin[t], Sin[2 t]}, {t, 0, 2 Pi}, 
 AspectRatio -> Automatic]

请添加图片描述


二、三维函数作图

1.函数作图命令Plot3D

绘制函数f(x,y)在平面区域上的三维立体图形的命令是Plot3D
在这里插入图片描述
在这里插入图片描述
常用选项:
在这里插入图片描述

> Plot3D[Sin[x y], {x, -Pi, Pi}, {y, -2, 2}, PlotPoints -> 45,   Axes ->
> False, Boxed -> False]

请添加图片描述
用Plo3D画一个三维图形时,它将这个目标放在一个透明的长方体盒子中.
默认值Boxed->True,显示盒子的边框.
设置Boxed->False则不显示盒子的边框.
设置选项BoxRatios能使盒子在不同的方向压缩或拉长.ViewPoit是一个重要的选项,相当于拍摄图形的照相机放在什么位置.不同的位置看到曲面的形式效果大不一样.
在这里插入图片描述

2.三维参数作图

画三维参数的空间曲线和曲面使用ParametricPlot3D命令
在这里插入图片描述
在这里插入图片描述

ParametricPlot3D[{u Cos[u] (4 + Cos[v + u]), 
  u Sin[u] (4 + Cos[v + u]), u Sin[v + u]}, {u, 0, 4 Pi}, {v, 0, 
  2 Pi}, PlotPoints -> {60, 12}]

请添加图片描述

Show[ %, Boxed -> False, Axes -> False]

请添加图片描述

三、等值线图和密度图

1.等值线图

函数ContourPlot用于画二元函数的等值线图
在这里插入图片描述
ContourPlot具有默认的选项设置Frame->True,执行ContourPlot以后,Mathematica送回一个ContourGraphics目标.如果函数值的网络不够细,
等值线图可能会有误差,当函数值变化幅度较大时,ContourPlot能画出规则的等值线图,当函数值变化太小曲面几乎是平面时,可能画出不规则的等值线
图.

ContourPlot[Sin[Cos[x^2 + y^2]], {x, -10, 10}, {y, -10, 10}]

请添加图片描述
常用选项:
在这里插入图片描述

2.密度图

在这里插入图片描述

DensityPlot[Sin[1/(x y)], {x, -0.8, 0.8}, {y, -0.8, 0.8}, 
 PlotPoints -> 25]

请添加图片描述

3.图形之间的转换

等值线图、密度图与曲面图形实质上是同一函数的三种不同表现方式.三种绘图方式的共同点都要求计算函数在格点处的值.因此,使用ContourPlot、Density和Plot3D中任何一个命令所做的图,都能直接用Show命令转换得到其他类型的图形.转换命令生成图形比调用作图命令生成图形的速度快.
在这里插入图片描述

四、数据绘图

1.二维数据绘图

在这里插入图片描述

d = Table[{1./n, Sin[n]}, {n, 1, 2000}]; ListPlot[d]

请添加图片描述

2.三维数据绘图

在这里插入图片描述

tt = Table[
  Sin[0.01 (i + j)] + Cos[0.01 (i*j)], {i, 1, 50}, {j, 1, 
   50}]; ListPlot3D[tt, Axes -> False, Boxed -> False, Mesh -> False]

请添加图片描述


总结

不得不说,Mathematica做出来的图是真的不错,纵享丝滑,不愧是“科研必备”,学到了很多知识,继续加油,本节主要针对二维乃至三维绘图,下节主要针对系统图形包进行简介介绍,下节见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/581710.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

限流--4种经典限流算法讲解--单机限流和分布式限流的实现

为什么需要限流 系统的维护使用是需要成本的,用户可能使用科技疯狂刷量,消耗系统资源,出现额外的经济开销问题: 控制成本>限制用户的调用次数用户在短时间内疯狂使用,导致服务器资源被占满,其他用户无…

深度学习-线性回归+基础优化算法

目录 线性模型衡量预估质量训练数据参数学习训练损失最小化损失来学习参数显式解 总结基础优化梯度下降选择学习率 小批量随机梯度下降选择批量大小 总结线性回归的从零开始实现实现一个函数读取小批量效果展示这里可视化看一下 线性回归从零开始实现线性回归的简洁实现效果展示…

selenium在Pycharm中结合python的基本使用、交互、无界面访问

下载 下载与浏览器匹配的浏览器驱动文件,这里一定注意的是,要选择和浏览器版本号相同的驱动程序,否则后面会有很多问题。 (1)浏览器(以google为例)版本号的查询: 我这里的版本号是1…

大规模数据处理和分析

大规模数据处理和分析:随着大数据技术的发展,处理大规模数据集的能力成为了一种竞争优势。热门问题包括数据清洗、特征工程、分布式计算等。 当我们谈到大规模数据处理和分析时,通常涉及到以下几个方面的内容: 数据清洗&#xff1…

C语言 | Leetcode C语言题解之第55题跳跃游戏

题目&#xff1a; 题解&#xff1a; #define max(a, b) (((a) > (b)) ? (a) : (b))bool canJump(int* nums, int numsSize){int cover 0;int i;// 只可能获取cover范围中的步数&#xff0c;所以i<coverfor(i 0; i < cover; i) {// 更新cover为从i出发能到达的最大…

prime1--vulnhub靶场通关教程

一. 信息收集 1. 探测目标主机IP地址 arp-scan -l //查看网段 vm 编辑--查看虚拟网络编辑器&#xff0c;看到靶机的网段 网段是&#xff1a; 192.168.83.0 是c段网络 2. 全面检测目标IP nmap -sP 192.168.83.1/24 靶机ip是&#xff1a; 192.168.83.145 攻击机的ip是&…

浏览器渲染机制:重排(Reflow)与重绘(Repaint)以及Vue优化策略

浏览器渲染机制是一个复杂但有序的过程&#xff0c;其目的是将HTML、CSS和JavaScript代码转化为用户可以看到和交互的视觉界面。重排&#xff08;Reflow&#xff09;与重绘&#xff08;Repaint&#xff09;是浏览器渲染过程中对页面元素进行更新的两个重要步骤&#xff0c;理解…

格瑞威特 | 邀您参加2024全国水科技大会暨技术装备成果展览会

—— 展位号&#xff1a;A13 —— 企业介绍 北京格瑞威特环保设备有限公司成立于2009年&#xff0c;是专业从事设计、研发、销售智能加药计量泵、在线水质分析仪表、便携式水质分析仪表、流量计、液位计、阀门、搅拌机、烟气报警仪、加药装置等各类水处理设备及配件的OEM供服…

C++ | Leetcode C++题解之第55题跳跃游戏

题目&#xff1a; 题解&#xff1a; class Solution { public:bool canJump(vector<int>& nums) {int n nums.size();int rightmost 0;for (int i 0; i < n; i) {if (i < rightmost) {rightmost max(rightmost, i nums[i]);if (rightmost > n - 1) {r…

亚马逊云科技AWS将推出数据工程师全新认证(有资料)

AWS认证体系最近更新&#xff0c;在原有12张的基础上&#xff0c;将在2023年11月27日添加第13张&#xff0c;数据工程师助理级认证(Data Engineer Associate)&#xff0c;并且在2024/1/12前半价(省75刀&#xff1d;544人民币。 原有的数据分析专家级认证(Data Analytics Specia…

tfrecord文件介绍、读取、写入介绍

1、tfrecord文件格式介绍 tfrecord文件格式&#xff0c;是深度学习框架tensorflow专用的一种文件格式&#xff0c;其底层使用protobuf&#xff0c;TensorFlow(python)也提供了api用于读取和写入tfrecord&#xff0c;非常方便&#xff0c;而对于golang语言&#xff0c;目前没有成…

开发总结-Controller层

Controller层一定要try catch一下&#xff0c;不然里面报的错可能导致程序报错。 catch中就表示有错误就 Return ResultUtils.err(e.getMessage()) 必填项校验 在实体属性中添加注解 NotNull : 用在基本类 型上 不能为null 但可以为空字符串 NotEmpty : 用在集合类上 不能为…

Java Swing 桌面程序使用 GraalVM 封装为 exe 文件进行Native化

背景 本文主要基于如下两点情况&#xff0c;进行的实际案例&#xff0c;并记录的操作步骤。 使用 Java Swing 开发的小型桌面程序&#xff0c;运行需要依赖当前电脑安装 jre 环境&#xff0c;对使用者很不友好&#xff0c;且相比原生的 exe 程序偏慢。 GraalVM Native 允许开…

SpringMVC整体工作流程

. 用户发起一个请求&#xff0c;请求首先到达前端控制器前端控制器接收到请求后会调用处理器映射器&#xff0c;由此得知&#xff0c;这个请求该由哪一个Controller来进行处理(并未调用Controller)&#xff1b;前端控制器调用处理器适配器&#xff0c;告诉处理器适配器应该要…

甘特图是什么?利用甘特图来优化项目管理流程

在现代项目管理中,图表是一种强大而直观的工具,可以帮助项目经理和团队成员清晰地了解并掌控整个项目进程。其中,甘特图是最常用和最有效的图表之一。 甘特图是一种条形图,可以用来直观地展示项目中各个任务的进度、持续时间和相互关系。它由一个横轴和一个纵轴组成。横轴代表时…

[LitCTF 2023]Ping、[SWPUCTF 2021 新生赛]error、[NSSCTF 2022 Spring Recruit]babyphp

[LitCTF 2023]Ping 尝试ping一下127.0.0.1成功了&#xff0c;但要查看根目录时提示只能输入IP 查看源代码&#xff0c;这段JavaScript代码定义了一个名为check_ip的函数&#xff0c;用于验证输入是否为有效的IPv4地址。并且使用正则表达式re来匹配IPv4地址的格式。 对于这种写…

【计算机组成原理 1】计算机硬件概念

0️⃣ 参考 王道计算机考研408 1️⃣ 冯诺依曼机 核心思想【存储程序】 存储程序就是将指令先放入内存中&#xff0c;再从内存读取指令执行&#xff0c;从而实现自动化。核心 【运算器】 说明&#xff1a;在计算机系统中&#xff0c;软件和硬件在逻辑上是等效的 例如&#xf…

Debian 系统设置SSH 连接时长

问题现象&#xff1a; 通过finalshell工具连接Debian系统远程操作时&#xff0c;总是一下断开一下断开&#xff0c;要反复重新连接 &#xff0c;烦人&#xff01; 解决办法&#xff1a; 找到ssh安装目录下的配置文件&#xff1a;sshd_config vi sshd_config &#xff1a; 找到…

基于Springboot+Vue的Java项目-火车票订票系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

Matlab实现CNN-LSTM模型,对一维时序信号进行分类

1、利用Matlab2021b训练CNN-LSTM模型&#xff0c;对采集的一维时序信号进行分类二分类或多分类 2、CNN-LSTM时序信号多分类执行结果截图 训练进度&#xff1a; 网络分析&#xff1a; 指标变化趋势&#xff1a; 代码下载方式&#xff08;代码含数据集与模型构建&#xff0c;附…