MATLAB 的函数计算与作图

news2024/11/25 10:32:18

  • 基本初等函数的输入
  • 系统运算与操作函数的输入
  • 函数值的计算
    • 1. 数值计算方式
    • 2. 符号计算方式
      • 2.1 函数:sym
      • 2.2 函数:syms
  • 函数的作图
    • 1. 一般函数 y=f(x) 的作图(二维)
      • 作图基本形式
      • 作多重线
      • 作图的线型和颜色
      • 作图的网格和标记、图例、字号

基本初等函数的输入

MATLAB 中,函数输入的总体原则是 将变量整体用括号括起来

c o s 2 x 3 cos2x^3 cos2x3MATLAB 输入为 c o s ( 2 ∗ ( x 3 ) ) cos(2*(x^3)) cos(2(x3)) x 3 x^3 x3 本来不需要用括号括起来,但括起来后,运算次序更加清晰。

在这里插入图片描述

系统运算与操作函数的输入

MATLAB 中,通常以由基本初等函数扩展的数学函数作为处理的对象。

此外,MATLAB 系统还设计了具有运算和操作性质方面的函数,它们常作为处理的工具。这类函数常见的有以下几种:

  • 绝对值函数 ∣ x ∣ |x| x a b s ( x ) abs(x) abs(x)
  • 符号函数 s i g n x signx signx s i g n ( x ) sign(x) sign(x)
  • 求和函数: s u m sum sum
  • 求积函数: p r o d prod prod
  • 求最大值: m a x max max
  • 求最小值: m i n min min

函数值的计算

  • 在数学运算中,运算的结果如果是一个 数值,可以称这类运算为 数值运算
  • 如果运算结果为 表达式,在 MATLAB 中称为 符号运算,符号计算是对 未赋值的符号对象 (可以是常数、变量、表达式)进行运算和处理。

在符号运算中是以表达式形式呈现结果的,而在数值运算中是以数值表示结果的。

1. 数值计算方式

>>x=%输入 x 的数值(不能为字母)
>>y=%输入 y 的表达式(表达式中除 x 外不能有其他字母)

【例题1】设 y = 3 x 2 − 2 3 x + 2 x 3 − 4 e 2 x y=3x^2- \frac{2}{3^x}+\frac{2^x}{3}-4e^{2x} y=3x23x2+32x4e2x,用 MATLAB 计算 y ( 1 ) y(1) y(1) 的值。

MATLAB 程序如下:

在这里插入图片描述
【例题2】设 y = { x 2 + 1 , x < 0 2 x − 1 , 0 < x ≤ 10 2 x + 3 , x > 10 y = \begin{cases} x^2 + 1, & x < 0 \\ 2^x - 1, & 0<x \leq 10 \\ 2x+3, & x > 10 \end{cases} y= x2+1,2x1,2x+3,x<00<x10x>10MATLAB 计算 y ( 5 ) y(5) y(5) 的值。

MATLAB 程序如下:

在这里插入图片描述

【注意】elseif 中的 elseif 之间不能空格,否则要用两个 end

在这里插入图片描述

2. 符号计算方式

建立符号变量的方法有两种,通常

  • sym 建立单个符号对象
  • syms 同时定义多个符号对象

2.1 函数:sym

功能:用来建立 单个 符号对象。

a = sym('a');     %定义符号变量 a,下同
b = sym('b')
c = sym('c')
d = sym('d')      %至此定义了 4 个符号变量

在这里插入图片描述

在这里插入图片描述

由以上例子可以看出:

  • 符号计算 的结果是一个 表达式
  • 数值计算 的结果是一个 数值

2.2 函数:syms

功能:定义 多个 符号对象。

syms x y z    %同时定义 x,y,z 为符号变量
>>syms x 其他字母 %定义 x 和其他字母为符号
>>y=f(x); %输入 y 的表达式
>>subs(y,x,a) %计算 x=a 时 y 的值

【注意】

  • 如果要计算在 多个点 x = a 1 , … , x = a n x=a_1,…,x=a_n x=a1x=an y y y 的值,则可用 [ a 1 , a 2 , … , a n ] [a_1,a_2,…,a_n] [a1a2an] 替换 a a a,即 s u b s ( y , x , a ) subs(y,x,a) subs(y,x,a) 改为 s u b s ( y , x , [ a 1 , a 2 , . . . , a n ] ) subs(y,x,[a_1,a_2,...,a_n]) subs(y,x,[a1,a2,...,an])
  • 如果结果 “ans=” 是以 符号形式 给出时,输入 d o u b l e ( a n s ) double(ans) double(ans) 即可得到 数值型结果

【例题1】设 y = 3 l n x 2 − l o g 2 x ⋅ l o g 10 ( 3 x ) + 1 2 l o g 3 ( 4 x ) y=3lnx^2-log_2x · log_{10}(\frac{3}{x})+\frac{1}{2}log_3(4x) y=3lnx2log2xlog10(x3)+21log3(4x) ,用 MATLAB 计算 y ( 1 ) y(1) y(1) y ( 2 ) y(2) y(2) 的值。

MATLAB 程序如下:

在这里插入图片描述

试验 l o g 2 x log_2x log2x l o g 10 x log_{10}x log10x 不用换底公式,得到的结果同上。

在这里插入图片描述

【例题2】设 y = x 2 − 2 a x y=x^2-2ax y=x22ax,用 MATLAB 计算 y ( a ) y(a) y(a) y ( b ) y(b) y(b) 的值。

MATLAB 程序如下:

在这里插入图片描述

【注意】用 符号计算方法 时,相关式子中的所有字母都要先定义为符号,其运算结果依然是一个 符号表达式

函数的作图

MATLAB 有很强的图形功能,可以方便地实现 数据的视觉化。下面着重介绍二维图形的画法。

1. 一般函数 y=f(x) 的作图(二维)

作图基本形式

二维图形的绘制是 MATLAB 语言图形处理的基础,MATLAB 最常用的画二维图形的命令是 plotMATLAB 命令格式:


>>x=a:c:b  %输出 x 的范围[a,b],步长为 c
>>y=f(x); %输出 y 的表达式
>>plot(x,y) %画出函数的图像

plot - 二维线图
MATLAB 函数 创建 Y 中数据对 X 中对应值的二维线图。 要绘制由线段连接的一组坐标,请将 XY 指定为相同长度的向量。
要在同一组坐标区上绘制多组坐标,请将 XY 中的至少一个指定为矩阵。

向量和矩阵数据
  plot(X,Y)
  plot(X,Y,LineSpec)
  plot(X1,Y1,...,Xn,Yn)
  plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)
  plot(Y)
  plot(Y,LineSpec)

【例子】

在这里插入图片描述

生成的图形如下图所示,是 [ 0 , 2 π ] [0, 2π] [0,2π] 上 30 个点连成的光滑的正弦曲线。

在这里插入图片描述

关于 linspace 的说明文档如下:

在这里插入图片描述

作多重线

同一个画面上可以画许多条曲线,只需多给出几个数组,MATLAB 命令程序格式:

>>x=a:c:b
>>y1=f(x); y2=g(x);
>>plot(x, y1, x, y2) %在同一平面画出两个函数的图像

【例子】

在这里插入图片描述

则可以画出下图:

在这里插入图片描述

【注意】

  • 也可用 hold on 语句,达到作多重图的效果,MATLAB 命令格式:
>>plot(表达式 1, [a,b])
>>hold on
>>plot(表达式 2, [a,b])
  • 如果要在一个画布上作 k 个小图,则可用 subplot(m, n, k)MATLAB 命令格式:
 >>subplot(m, n, k);
 >>fplot(表达式 1, [a, b])

即表达式 1 所表示的曲线画在 mn 列第 k 个位置上(从左至右,再从上至下计数)。

作图的线型和颜色

为了适应各种绘图需要,MATLAB 提供了用于控制线色、数据点和线型的 3 组基本参数。它的使用格式如下:plot(x, y, color_point_linestyle)

在这里插入图片描述

作图的网格和标记、图例、字号

在一个图形上可以加网格、标题、x 轴标记、y 轴标记,用下列命令完成这些工作。

x=linspace(0, 2*pi, 30); y=sin(x); z=cos(x);
plot(x, y, x, z)
grid %网格
xlabel('横坐标 X') %横坐标标签
ylabel('纵坐标 Y 和 Z') %纵坐标标签
title('Sine 和 Cosine 图像') %标题

【注意】 shift + Enter 换行且不执行。

在这里插入图片描述

效果如下图:

在这里插入图片描述

【添加图例】

legend:按绘图顺序添加图例。

x=linspace(0, 2*pi, 30); y=sin(x); z=cos(x);
plot(x, y, x, z)
grid %网格
xlabel('横坐标 X') %横坐标标签
ylabel('纵坐标 Y 和 Z') %纵坐标标签
title('Sine 和 Cosine 图像') %标题

% 按绘图顺序添加图例
legend('y = sin(x)','y = cos(x)')

在这里插入图片描述

【限制画布】

如果限制画布,则需在输入 plot 语句前输入 >>axis([a, b, c, d]),这个命令是将图形限制在 [ a , b ] × [ c , d ] [a,b]×[c,d] [ab]×[cd] 上,其中 a a a b b b c c c d d d 必须是数值。

'FontSize' 字号属性】

x=linspace(0, 2*pi, 30); y=sin(x); z=cos(x);
plot(x, y, x, z)
grid %网格
xlabel('横坐标 X','FontSize',15) %横坐标标签
ylabel('纵坐标 Y 和 Z','FontSize',15) %纵坐标标签
title('Sine 和 Cosine 图像','FontSize',20) %标题
legend('y = sin(x)','y = cos(x)')

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React Dva项目创建Model,并演示数据管理与函数调用

本文的话 我们讲一下定义Model 也就是Dva中redux的部分 我们打开一个刚创建的Dva项目 看到 src下的models 下 就是Model部分 这里 他给我们了一个案例 如果用 react-redux 管理 模块多了之后会看着比较乱 或 很麻烦 但是 大家会发现 在Model中 他将这些都放在一起了 只需要创建…

css属性

1、形状相关的 宽、高、边线&#xff08;粗细、线样式、颜色&#xff09;、弧度、前景色、背景色、透明度 圆角矩形&#xff1a; 随着radius的增加&#xff0c;角会越来越圆&#xff0c;当设置为高的一半&#xff08;高200是直径&#xff09;时&#xff0c;就会成圆角 宽高都是…

请求响应-日期时间参数的接受

日期参数 由于从前端发送的请求中&#xff0c;日期的格式可能各不相同&#xff0c;使用DateTimeFormat注解完成日期参数格式的转换具体关键代码如下&#xff1a; 在postman中发出对应请求携带对应参数结果如下&#xff1a; 参数名称要与方法中的形参名称一致&#xff0c;免得…

oracle排序问题

记录工作中遇到的问题让工作更加顺利! 文章目录 1.排序1.1数字字符串排序问题解决1.2自定义处理NULL 1.排序 工作中遇到一个需要排序的地方&#xff0c;遇到两个函数 DENSE_RANK和 RANK &#xff1b;RANK 函数是按照一个字段或值排序后返回绝对位置&#xff08;即相同值排名相…

HCIA云计算1

KVM是所有云平台的底座&#xff0c;云下面是虚拟化云台&#xff0c;虚拟化只提供基础架构&#xff0c;云可以提供服务&#xff0c;云是大杂烩。 OpenStack 开源云操作系统 KVM 开源虚拟化 Linux KVM OpenStack 大部分云厂商都是基于OpenStack 做二次开发 VRM理解成物理服务器…

推荐10个Flutter开源项目

作为跨平台应用开发的领头羊,Flutter从已发布就受到广大开发者的追捧。使用Flutter技术开发的应用不仅体验上无限接近原生应用,在开发效率上也是其他技术无法比拟的。随着其开发者社区的不断壮大,Flutter生态系统已经相当强大,并且众多开源应用程序也相继诞生。这些开源应用…

杨氏模量——从宏观(应力-应变曲线)到微观(原子键)尺度解释杨氏模量

杨氏模量&#xff08;Young’s Modulus&#xff09;是三个主要弹性常数之一&#xff0c;与剪切模量&#xff08;shear modulus&#xff09;、体积模量&#xff08;bulk modulus&#xff09;一起用于描述材料在载荷下如何变形 以下展示了拉伸试验的应力应变曲线 如果施加的应力…

3Ds max入门教程:创建雪地

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在本教程中&#xff0c;您将学习在 3ds Max 9 中制作雪地。在本教程中&#xff0c;我们将使用一些原始平面、粒子系统和纹理&#xff0c;看看您可以从中制作出多么有效和逼真的场景。 好的&#xff0c;首先…

Linux学习之变量赋值

变量的命名规则&#xff1a; 变量的名字只能由字母、数字和下划线组成。 不能以数字开头。 为变量赋值的过程&#xff0c;称为变量替换。 变量赋值的方式有以下几种&#xff1a; 变量名变量值 使用let为变量赋值 将命令赋值给变量 将命令结果赋值给变量&#xff0c;使用$()或者…

前端框架Layui实现动态树效果(书籍管理系统左侧下拉列表)

目录 一、前言 1.什么是树形菜单 2.树形菜单的使用场景 二、案例实现 1.需求分析 2.前期准备工作 ①导入依赖 ②工具类 BaseDao&#xff08;通用增删改查&#xff09; BuildTree(完成平级数据到父子级的转换) ResponseUtil&#xff08;将数据转换成json格式进行回显&…

能“出汗”,会“呼吸”的户外行走机器人

美国亚利桑那州立大学(ASU)科学家研制出了世界上第一个能像人类一样出汗、颤抖和呼吸的户外行走机器人模型。这个机器人名叫ANDI&#xff0c;是一个能模仿人类出汗的热敏“热模型”。 ANDI 身上不仅有可以使它行走的关节&#xff0c;还有其他机器人身上都没有的东西——它浑身…

高并发的哲学原理(一)-- 找出单点,进行拆分

人列计算机 《三体》中&#xff0c;刘慈欣设计了一个用人进行二进制运算的计算机&#xff0c;使用了三千万名士兵(晶体管)&#xff1a; 计算机名&#xff1a;秦一号 CPU&#xff1a;秦始皇最精锐的五个军团 挥舞旗帜进行二进制运算 用三个士兵来组成与门、或门、与非门、或非门…

Python批量实现word中查找关键字

一、背景 在日常办公和文档处理中&#xff0c;我们常常需要在大量的Word文档中查找特定的关键字&#xff0c;然后进行接下来的操作&#xff0c;比如关键字替换等。手动逐个打开并搜索文档显然是费时费力的。因此&#xff0c;利用Python编写一个批量实现Word中查找关键字的程序可…

18、气象学中风场的绘制

文章目录 前言一、批量读取数据二、绘制2022年的平均风场三、绘制每个季节的平均风场四、绘制每个月的风场 前言 数据及代码下载链接➡️&#xff1a;如何绘制自定义颜色的风场图 一、批量读取数据 import os import xarray as xrfolder_path "./" file_pattern …

22、ThreadLocal的原理和使用场景

ThreadLocal的原理 每一个thread对象均含有一个ThreadLocalMap类型的成员变量threadLocals&#xff0c;它存储本线程中所有 ThreadLocal对象及其对应的值 ThreadLocalMap 由一个个Entry对象构成 Entry继承自WeakReference<ThreadLocal<?>>&#xff0c;一个Entry…

Qt6 绘制矩形和一些字符串函数讲解

Qt6 绘制矩形和一些字符串函数讲解 【1】Qt 6 模拟C的cout输出QTextStream类简介举例 &#xff08;标准输出&#xff09; 【2】Qt 6 绘制移动的矩形事件运行效果UI界面头文件.h源文件.cpp 【1】Qt 6 模拟C的cout输出 只教方法&#xff0c;更多内容请学习官方文档 QTextStream…

使用FreeMarker自定义生成word文档

使用FreeMarker自定义生成word文档 最终生成word文档如下&#xff1a; 实现思路&#xff1a; 按照要生成的文档模板格式&#xff0c;创建一个新的word&#xff08;doc&#xff09;文档&#xff0c;将其调整成所需格式&#xff0c;然后处理其中需要动态填充的数据&#xff0…

stable diffusion如何确保每张图的面部一致?

可以使用roop插件&#xff0c;确定好脸部图片后&#xff0c;使用roop固定&#xff0c; 然后生成的所有图片都使用同一张脸。 这款插件的功能简单粗暴&#xff1a;一键换脸。 如图所示&#xff1a; 任意上传一张脸部清晰的图片&#xff0c;点击启用。 在其他提示词不变的情况下…

LoRA: 大模型快速训练的秘诀

本文是四两拨千斤&#xff0c;训练大模型的PEFT方法的最后一小节&#xff0c;感兴趣读者可以阅读完整版。 LoRA LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS 核心思路是对模型参数做低秩分解&#xff0c;仅训练分解后的参数&#xff0c;模型部署也需额外保存低秩参数&…

SIP业务之BLF

BLF&#xff08;Busy Lamp Field&#xff09;是SIP应用中的一项重要业务&#xff0c;用来监视目标号码的状态&#xff0c;常用于调度、坐席监控等场景。 一、 BLF原理 BLF功能需要IP终端或话机与SIP服务器协同实现的&#xff0c;主要流程如下&#xff1a; IP话机向SIP服务器发…