精华内容
下载资源
问答
  • matlab中plot函数用法

    万次阅读 多人点赞 2019-03-06 14:41:15
    1.简单的2维直线图 : plot(x,y) 同一坐标显示n条线:plot(x,y1,x,y2,…) x = 0:pi/10:2*pi; y = sin(x); figure; hold on; plot(x,y) 2.plot(X):X是矩阵,表示矩阵的每一行都画一条线,将显示n条线。 X=rand(3,3)...

    线条、颜色等参数:
    在这里插入图片描述
    1.简单的2维直线图 : plot(x,y)
    同一坐标显示n条线:plot(x,y1,x,y2,…)

    x = 0:pi/10:2*pi;
    y = sin(x);
    figure;
    hold on;
    plot(x,y)
    

    在这里插入图片描述
    2.plot(X):X是矩阵,表示矩阵的每一行都画一条线,将显示n条线。

    X=rand(3,3); %随机生成3*3矩阵
    figure;
    hold on;
    plot(X)
    

    在这里插入图片描述
    3.画带形状的图

    plot(X(pos, 1), X(pos, 2), 'k+','LineWidth', 2, 'MarkerSize', 7);
    plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y','MarkerSize', 7);
    
    X(pos, 1), X(pos, 2)表示横纵坐标
    'k+'表示线性为加号型、黑色
    LineWidth', 2表示线宽为2
    'MarkerSize', 7表示形状大小为7
     'MarkerFaceColor', 'y'表示形状填充颜色为黄色
     另:MarkerEdgeColor','b'表示方框边缘颜色为蓝色
    

    在这里插入图片描述

    展开全文
  • 我们可以将函数视为“一等公民”函数可以赋值给变量函数可以作为函数的参数函数可以作为函数的返回值高阶函数用法:(filter、map以及它们的替代品)items1 = list(map(lambda x: x ** 2, filter(lambda x: x % 2,...

    c62da0c104e9b5e17ad85c19be210fe0.png

    我们可以将函数视为“一等公民”

    函数可以赋值给变量
    函数可以作为函数的参数
    函数可以作为函数的返回值


    高阶函数的用法:(filter、map以及它们的替代品)items1 = list(map(lambda x: x ** 2, filter(lambda x: x % 2, range(1, 10))))items2 = [x ** 2 for x in range(1, 10) if x % 2]


    闭包和作用域问题:
    Python搜索变量的LEGB顺序(Local --> Embedded --> Global --> Built-in)
    global和nonlocal关键字的作用:
    global:声明或定义全局变量(要么直接使用现有的全局作用域的变量,要么定义一个变量放到全局作用域)。
    nonlocal:声明使用嵌套作用域的变量(嵌套作用域必须存在该变量,否则报错)。
    装饰器函数(使用装饰器和取消装饰器)
    例子:输出函数执行时间的装饰器

    def record_time(func):"""自定义装饰函数的装饰器"""@wraps(func)def wrapper(*args, **kwargs):start = time()result = func(*args, **kwargs)print(f'{func.__name__}: {time() - start}秒')return resultreturn wrapper
    如果装饰器不希望跟print函数耦合,可以编写带参数的装饰器。from functools import wrapsfrom time import timedef record(output):"""自定义带参数的装饰器"""def decorate(func):@wraps(func)def wrapper(*args, **kwargs):start = time()result = func(*args, **kwargs)output(func.__name__, time() - start)return resultreturn wrapperreturn decoratefrom functools import wrapsfrom time import timeclass Record():"""自定义装饰器类(通过__call__魔术方法使得对象可以当成函数调用)"""def __init__(self, output):self.output = outputdef __call__(self, func):@wraps(func)def wrapper(*args, **kwargs):start = time()result = func(*args, **kwargs)self.output(func.__name__, time() - start)return resultreturn wrapper
    说明:由于对带装饰功能的函数添加了@wraps装饰器,可以通过func.__wrapped__方式获得被装饰之前的函数或类来取消装饰器的作用。
    例子:用装饰器来实现单例模式。

    from functools import wrapsdef singleton(cls):"""装饰类的装饰器"""instances = {}@wraps(cls)def wrapper(*args, **kwargs):if cls not in instances:instances[cls] = cls(*args, **kwargs)return instances[cls]return wrapper@singletonclass President():"""总统(单例类)"""pass
    说明:上面的代码中用到了闭包(closure),不知道你是否已经意识到了。还没有一个小问题就是,上面的代码并没有实现线程安全的单例,如果要实现线程安全的单例应该怎么做呢?from functools import wrapsfrom threading import Lockdef singleton(cls):"""线程安全的单例装饰器"""instances = {}locker = Lock()@wraps(cls)def wrapper(*args, **kwargs):if cls not in instances:with locker:if cls not in instances:instances[cls] = cls(*args, **kwargs)return instances[cls]return wrapper


    以上就是本次分享的全部内容了,不知大家对小编讲述的Python函数使用方法感觉怎么样?

    欢迎爱好Python的人跟小编交流切磋一下!小编推荐一个学python的学习群315346913

    无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!群内有开发工具,很多干货和技术资料分享!

    展开全文
  • YOU CAN DRINK ALL YOU LIKE, BUT IN THE MORNING YOU GET HEADACHE WITH THE SAME PROBLEMS.PYTHONjoin函数用法Python有.join()和os.path.join()两个函数,具体作用如下:.join():连接字符串数组。...

    YOU CAN DRINK ALL YOU LIKE, BUT IN THE MORNING YOU GET HEADACHE WITH THE SAME PROBLEMS.


    PYTHON中join函数的用法

    Python中有.join()os.path.join()两个函数,具体作用如下:

    .join():连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串os.path.join():将多个路径组合后返回

    对序列进行操作(分别使用' '、'-'与':'作为分隔符)

    a=['1','2','3','4','5']

    >> ' '.join(a)

    1 2 3 4 5

    >> ''.join(a)

    12345

    >>'-'.jion(a)

    1-2-3-4-5

    >>'.'.join(a)

    1.2.3.4.5

    对字符串进行操作(分别使用' '、'-'与':'作为分隔符)

    b='hello world'

    >> ' '.join(b)

    h e l l o   w o r l d

    >>'-' .join(b)

    h-e-l-l-o- -w-o-r-l-d

    >>':'.jion(b)

    h:e:l:l:o: :w:o:r:l:d

    对元组进行操作(分别使用' '、'-'与':'作为分隔符)

    c=('1','2','3','4','5')

    >>' '.join(c)

    1 2 3 4 5

    >>'-'.join(c)

    1-2-3-4-5

    >>':'.join(c)

    1:2:3:4:5

    对字典进行无序操作(分别使用' '、'-'与':'作为分隔符)

    d={'name1':'a','name2':'b','name3':'c','name4':'d'}

    >>' '.jion(d)

    name1 name2 name3 name4

    >>'-'.join(d)

    name1-name2-name3-name4

    >>':'.join(d)

    name1:name2:name3:name4

    对目录进行操作

    import os

    os.path.join('/hello/','good/date','datbody')

    hello/good/date/datbody

    c4589b7f4e8c379f622d0ca47cd054c9.png
    5b90b621ebed00d2b9c3ec075a9858f3.png
    展开全文
  • 小伙伴们好啊,今天老祝和大家一起来认识函数的大哥大——OFFSET。从复杂的数据汇总、到高级动态图表,都离不开OFFSET函数。...2、函数用法:=OFFSET(基点,偏移的行数,偏移的列数,[新引用的行数]...

    小伙伴们好啊,今天老祝和大家一起来认识函数中的大哥大——OFFSET。

    从复杂的数据汇总、到高级动态图表,都离不开OFFSET函数。但是这个函数的参数多,变化性强,要想灵活驾驭可不是件容易的事。

    1、函数作用:

    用于生成数据区域的引用,再将这个引用作为半成品,作为动态图表的数据源、或是作为其他函数的参数,进行二次加工。

    2、函数用法:

    =OFFSET(基点,偏移的行数,偏移的列数,[新引用的行数],[新引用的列数])

    第二参数使用正数时,表示从基地向下偏移,负数表示向上偏移。

    第三参数使用正数时,表示向右偏移,使用负数时表示向左偏移。

    第四和第五参数是可选的,如果省略这两个参数,新引用的区域就是和基点一样的大小。

    咱们用下面这个公式,来理解一下OFFSET函数的计算过程:

    =OFFSET(C3,4,2,4,3)

    以C3为基点,向下偏移4行,向右偏移2列,新引用的行数是4行,新引用的列数是3列,最终得到对E7:G10单元格区域的引用。

    5632c1307bf2150db120735451660d5e.png

    咱们换一种更形象的说法:

    OFFSET函数就像是一个鬼子小分队,从据点董家庄(C3)出动,顺着大路向南走4里(C7)

    1884277e3d59cd12a65e43dbe31a4a60.png

    拐弯儿再向东2里,这时候就到马家河子(E7)了

    fcf4dc1e5deb12bfaecf1831ec4247c1.png

    鬼子队长说了,我要以马家河子(E7)这个地方开始,再占领一片地盘。有多大呢?向南4里,向东3里。

    b707c013eb8cdce73a6f1ad68d2e92eb.png

    吆西,结果就是E7:G10单元格区域了。

    3、常用姿势解锁:

    1)行列转置

    如下图,要将A2:D7单元格中多行多列的姓名,转换到一列中。

    F2单元格公式为:

    =OFFSET($A$2,(ROW(A1)-1)/4,MOD(ROW(A1)-1,4))&""

    54e1f76930593d9ed64cb393ac235908.png

    OFFSET函数的基点为A2。

    向下偏移的行数为(ROW(A1)-1)/4,这部分公式下拉时,可以得到从0开始,按0.25递增的序号,即0,0.25,0.5,0.75,1,1.25,1.5……OFFSET函数对带有小数的参数自动向下取整,向下偏移的行数依次为0 0 0 0 1 1 1 1 2 2 2 2……也就是公式每下拉四行,就从数据源中向下偏移一行。

    向右偏移的列数为MOD(ROW(A1)-1,4),这部分公式下拉时,可以得到0 1 2 3 0 1 2 3……的循环序列序列,也就是公式每下拉一个行,就从数据源向右偏移一列,下拉到第五行时,偏移的列数又会从0开始。

    偏移行数和偏移列数二者结合,最终形成1 2 3 4 2 3 4 3 2 3 4 ……这样的偏移方式。

    2)计算指定区间的销售额

    如下图所示,要计算从1月份到指定月份的累计销售额。

    F4单元格公式为:

    =SUM(OFFSET(B2,0,0,MATCH(F2,A2:A13,0)))

    fe10ebbe646d250ef69f4d36c85c622f.png

    MATCH(F2,A2:A13,0)部分,先使用MATCH函数计算出F2单元格中的月份在A2:A13中的位置,结果为9.

    OFFSET函数以B2单元格为基点,向下偏移0行,向右偏移0列,以MATCH函数的计算结果作为新引用的行数,最终得到B2:B10单元格区域的引用,再使用SUM函数计算这个区域中的总和,得到从1月份到指定月份的销售总额。

    3)计算最近7天的平均销量

    如下图所示,A列和B列是销售流水记录,要计算出最近7天的平均销量。

    F4单元格公式为:

    =AVERAGE(OFFSET(B1,COUNT(B:B),0,-7))

    bb757a6abae748ac5b19d35b2a1a5650.png

    先使用COUNT函数,统计出B列的数值个数。

    OFFSET函数以B1为基点,以COUNT的结果作为向下偏移的行数,也就是B列有多少个数值,就向下偏移多少行。

    这时候就相当于到了B列数值的最后一行,给定的偏移列数是0,新引用的行数是-7,得到从B列数值的最后一行开始,再向上7行这样一个动态的区域。

    如果B列的数值增加了,COUNT函数的计数结果就增加了,OFFSET函数的行偏移参数也就随之变化。

    就相当于一竿子捅到底,然后来个烧鸡大窝脖儿,向上引用7行,所以得到的始终是最后7行的引用。

    最后使用AVERAGE函数计算出这个引用区域中的平均值。

    4)计算筛选后的商品总价

    如下图,是各食堂的采购记录,需要计算筛选后的商品总价。

    G1单元格公式为:

    =SUMPRODUCT(SUBTOTAL(3,OFFSET(A1,ROW(1:9),0))*C2:C10*D2:D10)

    4d2a94e52fc0c5c106f5e8d04e63df99.gif

    要计算筛选后的内容,首先需要判断单元格是不是处于显示状态。

    先来看OFFSET(A1,ROW(1:9),0)部分,OFFSET函数以A1单元格为基点,向下偏移的行数是ROW(1:9)的计算结果,表示依次向下偏移1~9行,最终得到9个引用区域,每个单元格区域由一个单元格构成。

    这里涉及到多维引用的知识点了,小伙伴们如果犯迷糊,可以先收藏一下。

    接下来使用SUBTOTAL函数对OFFSET函数得到的多个引用区域进行处理,第一参数使用3,表示使用COUNTA函数的计算规则,即依次统计A2~A9这九个单元格区域中的不为空的单元格个数。

    如果单元格处于显示状态,则对这个单元格的统计结果为1,否则统计结果为0。

    这部分公式得到类似下面的效果:

    {0;0;0;0;0;1;1;1;1}

    再用SUBTOTAL函数的结果乘以C列的单价和D列的数量,如果单元格处于显示状态,则相当于1*数量*单价,否则相当于0*数量*单价。

    最后使用SUMPRODUCT函数对乘积进行求和,这样就得到筛选后的商品总价了。

    除了以上常规的用法,OFFSET函数还经常用于动态图表的制作,这些内容咱们以后继续分享。

    练习文件在这里:

    https://pan.baidu.com/s/1jOQSd3L8bsIqQzYDtmJyyA

    好了,今天的内容就是这些吧,后半部分对于大多数小伙伴可能有点难了,不过不用担心,咱们可以先收藏,然后慢慢消化。

    最后,祝各位小伙伴一天好心情!

    图文制作:祝洪忠

    点击图标,发现更多精彩课程

    cd464abde2e21ea2481c8728df73031a.png

    专业的职场技能充电站

    展开全文
  • 今天要给大家分享的就是JavaScript中函数表达式和自执行函数表达式的用法。立即调用函数表达式 给函数体加大括号,在有变量声明的情形下,没有任何区别 但是,如果只是【自动执行】的情形下,就会不同 因为,一个...
  • https://blog.csdn.net/xuxinrk/article/details/80051238
  • MATLAB中plot函数用法

    万次阅读 多人点赞 2018-04-23 15:47:04
    使用plot绘制二维图像本文转自http://blog.sina.com.cn/s/blog_d8f783c90102woqb.html以及https://blog.csdn.net/alvern_zhang/article/details/51153058MATLAB中plot函数常常被用于绘制各种二维图像,其用法也是...
  • matlab中plot函数用法

    2013-06-25 21:10:00
    MATLAB中提供的线型及颜色属性: 如:plot(x1,y1,'r-'),表示,用红色实线画出图形 线型 说明 标记符 说明 颜色 说明 - 实线(默认) + 加号符 r...
  • >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。 /////////////////////////////////////////////////////...
  • MATLAB中plot函数详解

    2013-11-17 17:29:07
    详细的介绍了MATlab中plot函数用法,非常仔细,全面
  • MATLAB中plot函数中文帮助,文档对plot函数做了详细的说明,包含了plot函数的各种用法
  • MATLAB中Plot基础用法

    2020-11-26 17:50:52
    MATLAB 函数 创建 Y 数据对 X 对应值的二维线图。 如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。 如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列...
  • Matlab中Plot函数的基本用法(详解)

    万次阅读 多人点赞 2019-05-14 15:23:02
    本文接下来要讲解一下Matlab中最基本的Plot用法 Plot的定义和用法 此 MATLAB 函数 创建 Y 中数据对 X 中对应值的二维线图。 如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。 如果 X ...
  • MATLAB中plot用法

    千次阅读 2017-11-17 09:11:20
    本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。 5.1 二维平面图形 5.1.1 基本图形函数 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是 说,使用plot 函数...
  • matlab中plot()函数用法大全

    万次阅读 2017-05-23 11:03:46
    plot() 函数是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标.下面简单介绍! 工具/原料 matlab2012b+win...
  • MATLAB中plot函数常常被用于绘制各种二维图像,其用法也是多种多样,本文仅介绍plot函数的基本用法——使用plot函数绘制二维点图和线图。plot函数的一般调用形式如下: plot(X, Y, LineSpec) 其中X由所有输入点坐标...
  • MATLAB中plot函数常常被用于绘制各种二维图像,其用法也是多种多样,本文仅介绍plot函数的基本用法——使用plot函数绘制二维点图和线图。plot函数的一般调用形式如下: plot(X, Y, LineSpec) 其中X由所有输入点...
  • matlab mvnrnd 函数用法及举例

    万次阅读 2016-10-31 21:44:41
    原文链接:matlab生成两类服从高斯分布的数据 由于实验需要,需要生成两类模式的数据,同时这两类数据要服从正态分布(高斯分布)。...plot(r(:,1),r(:,2),'r+'); hold on; mu = [7 8]; SIGMA
  • 一、plot()基本用法 >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。 ////////////////////////////////////////////////////////...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 142
精华内容 56
关键字:

matlab中plot函数用法

matlab 订阅