前面文章中介绍了使用plot函数绘制图形的方法。本文介绍一下使用R中curve函数绘制常见函数曲线的方法。

1、curve函数简介

curve函数语法格式如下:

curve(expr, from = NULL, to = NULL, n = 101, add = FALSE, type = "l", xname = "x", xlab = xname, ylab = NULL, log = NULL, xlim = NULL, ...)

主要的参数如下:

expr:函数名称或一个关于变量x的函数表达式;

from,to:表示绘图的起止范围;

n:一个整数值,表示x取值的数量;

add:是一个逻辑值,当为TRUE时,表示将绘图添加到已存在的绘图中;

type:与plot函数中type含义相同;

xname:用于x轴变量的名称。

xlab,ylab:x轴和y轴的标签名称。

2、绘制y=x的直线

#y=x

curve(x+0, -10, 10, bty="l", xlab="x1", ylab="y")

abline(h=0, v=0, lty=2, col="gray")

text(0.5, -0.5, "0", col="gray")

text(8, 10, "y = x")

图形如下:

3、绘制 y = 2x + 3 的直线

# y= 2x + 3

curve(2*x + 3, -10, 10, bty="l", xlab = "x", ylab = "y",  asp = 1)

abline(h=0, v=0, lty=2, col = "darkgray")

text(0.8, -0.8, "0", col = "darkgray")

text(15, 20, "y = 2x + 3")

图形如下:

3、绘制形如y = ax2 + bx + c的图像

#y=x^2

curve(x^2,-5,5,bty="l",xlab="x",ylab="y",asp=1,ylim=c(-5,25))

abline(h=0,v=0,lty=2,col="darkgray")

text(0.8,-0.8,"0",col="darkgray")

text(7,23,expression(paste("y = ",x^2)))

#y=x^2+3x+1

curve(x^2+3*x+1,-10,5,col="blue",add=T)

text(8,25.5,expression(paste("y = ",x^2," + 3x + 1")),col="blue")

abline(v= -b/(2*a),col="lightblue",lty=2)

本段代码在同一幅图中绘制了两个函数图像,分别是:y = x2和y = x2 + 3x + 1,其图像如下图所示:

4、幂函数图像

下面的程序代码给出的是形如y = xα的图像。

# y = x

curve(x^1,-1.5,2,bty="l",xlab="x",ylab="y",asp=1,ylim=c(-1,1))

abline(h=0,v=0,lty=2,col="darkgray")

text(0.1,-0.1,"0",col="darkgray")

lines(c(0,1,1),c(1,1,0),lty=2,col="red")

text(1.1,0.95,"1",col="red")

#y = x ^ 2

curve(x^2,-1.5,2,add=T,col="blue")

#y = x ^ 3

curve(x^3,-1.5,2,add=T,col="orange")

#y = x ^ (1/2)

curve(x^(1/2), 0,2,add=T,col="green")

#y = x ^ (1/3)

curve(x^(1/3), 0,2,add=T,col="darkgreen")

图像如下图所示:

5、指数函数

下面程序代码绘制的是形如 y = ax的函数图像。

curve(2^x,-3,3,bty="l",xlab="x",ylab="y",asp=1,ylim=c(-0.5,8))

abline(h=0,v=0,lty=2,col="darkgray")

text(0.2,-0.15,"0",col="darkgray")

curve(4^x,-3,3,bty="l",add=T,col="blue")

curve((1/2)^x,-3,3,bty="l",add=T,col="red")

curve((1/4)^x,-3,3,bty="l",add=T,col="green")

curve(exp,-3,3,bty="l",add=T,col="orange")

具体如下图所示:

5、对数函数图像

绘制形如 y = loga(x)的函数图像

curve(log(x,2),0,10,bty="l",xlab="x",ylab="y",asp=1,ylim=c(-3,5))

abline(h=0,v=0,lty=2,col="darkgray")

text(0.15,-0.15,"0",col="darkgray")

curve(log(x),0,10,bty="l",add=T,col="orange")

curve(log(x,10),0,10,bty="l",add=T,col="blue")

curve(log(x,0.5),0,10,bty="l",add=T,col="green")

curve(log(x,0.1),0,10,bty="l",add=T,col="red")

图像如下图所示:

其中,橘黄色的曲线是y = ln(x)的函数图像。

6、三角函数图像

(1)正弦与余弦函数

#sin(x)

curve(sin(x),-10,10,bty="l",xlab="x",ylab="y",asp=1)

#cons(x)

curve(cos,-10,10,add=T,col="blue")

#下面是绘制坐标轴和图中红色的线及标签

abline(h=0,v=0,lty=2,col="darkgray")

text(0.5,-0.5,"0",col="darkgray")

lines(c(-pi,-pi),c(1.5,-1.5),col="red",lty=3)

text(-pi,2.5,expression(-pi),col="darkgray")

lines(c(-pi/2,-pi/2),c(1.5,-1.5),col="red",lty=3)

text(-pi/2,2.5,expression(-frac(pi,2)),col="darkgray")

lines(c(pi/2,pi/2),c(1.5,-1.5),col="red",lty=3)

text(pi/2,2.5,expression(frac(pi,2)),col="darkgray")

lines(c(pi,pi),c(1.5,-1.5),col="red",lty=3)

text(pi,2.5,expression(pi),col="darkgray")

如下图:

(2)正切函数

curve(tan,-2*pi,2*pi,col="red",ylim=c(-6,6),asp=1)

abline(h=0,v=c(-pi,-pi/2,0,pi/2,pi),lty=2,col="darkgray")

text(c(-pi+0.5,-pi/2+0.5,0.5,pi/2+0.5,pi+0.5),-0.5,

c("-π","-π/2",0,"π/2","π"),col="darkgray")

函数图像如下图:

(3)余切函数

在R的默认基础库中没有提供余切函数,但是可以根据余切与正切的关系来绘制。余切等于正切的倒数。

下面的代码是绘制余切函数:

curve(1/tan(x),-2*pi,2*pi,col="blue",ylim=c(-6,6),asp=1)

abline(h=0,v=c(-pi,-pi/2,0,pi/2,pi),lty=2,col="darkgray")

text(c(-pi+0.5,-pi/2+0.5,0.5,pi/2+0.5,pi+0.5),0.5, c("-π","-π/2",0,"π/2","π"),col="darkgray")

函数图像如下图所示:

用r语言画出y = ax^2 + bx + c,R语言中使用curve函数绘制常用函数曲线相关推荐

  1. 用r语言画出y = ax^2 + bx + c,R语言中如何使用最小二乘法

    这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题. 代码如下: > x > y > lsfit(x,y) 结果如下: $coefficients Intercept ...

  2. 【圣诞快乐】用 C 语言画出一棵带有装饰的简易圣诞树

    一.前言 2022年圣诞节到来了,给大家画一棵圣诞树,希望大家都能安全地度过这个困难的时刻,希望所有糟糕的都是经历,所有的美好都会在之后到来,希望明年的还能画下新的一棵圣诞树. 总所周知,圣诞树(Ch ...

  3. matlab怎么画x 1,matlab画出y=1 (x 1)的函数曲线

    请matlab高手教教 matlab编写一段程序,画出函数y=x^3*e^(-x^2),-1 clearx=-1:0.01:1;y=(x.^3).*exp(-x.^2);plot(x,y);title ...

  4. 用c语言绘制五角星图形,用c语言画出一个五角星图案

    用c语言画出一个五角星图案 感觉上五角星和六角星 的思路差不多,所以就不做重复劳动啦~嘿嘿O(∩_∩)O~ 以下公布一个非本人的代码,虽然感觉这个五角星画的不是很"正",但总体感觉 ...

  5. 用c语言画出一个五角星图案,用c语言画出一个五角星图案.doc

    用c语言画出一个五角星图案 感觉上五角星和六角星 的思路差不多,所以就不做重复劳动啦~嘿嘿O(∩_∩)O~ 以下公布一个非本人的代码,虽然感觉这个五角星画的不是很"正",但总体感觉 ...

  6. c语言中ax2 bx c求两个实根编程,【c语言】求方程式 ax^2+bx+c=零 的根,分别考虑:1、有两个不等的实根 2、有两个相等的实根...

    [c语言]求方程式 ax^2+bx+c=0 的根,分别考虑:1.有两个不等的实根 2.有两个相等的实根 // 求方程式 ax^2+bx+c=0 的根,分别考虑:1.有两个不等的实根 2.有两个相等的实 ...

  7. 同一界面画出多个QQ图(R语言)

    题目:一名研究者用光子吸收法测量了妇女骨骼中无机物含量,对三根骨头主侧和非主侧记录了测量值,数据框"T1bones.txt"中的第2至第7列记录了相应数据.对各个变量做qq图,在同 ...

  8. 怎么用c语言画出坐标曲线,c语言打印贝塞尔曲线坐标(三阶)

    贝塞尔曲线 贝塞尔曲线(Bézier curve),是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝赛尔曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们 ...

  9. 使用go语言画出sin函数图像

    sin函数图像--go语言 步骤 创建底图对象 画sin图 保存图像到文件 图片展示 步骤 创建一张底色为白色的图片对象 画出sin图像 保存到文件中 创建底图对象 //设置图片尺寸 pir := i ...

最新文章

  1. 干货|重磅发布:人工智能行业应用价值报告(PDF报告下载)
  2. sql server 按时间段查询
  3. 基于ArcGIS JS API实现垂直滑动缩放条
  4. 『ACM-算法-Hash算法』信息竞赛进阶指南--字符串哈希
  5. ReactiveCocoa基础
  6. 现代制造工程课堂笔记07——应力应变分析(考点应力莫尔圆)
  7. 桌面软件打开都会变成计算机,我不小心把电脑界面程序的打开方式都变成一种了,怎么还原啊?...
  8. 2019工作榜单 | Python程序员吸金榜,AI排第一,这个我服!
  9. 2020互联网大厂中秋礼盒PK!我酸了!
  10. 关关php采集插件,推荐使用:关关采集器(杰奇全版本通用编码版)v3.5.00
  11. 畅销书排行榜html作业,制作畅销书排行榜.html
  12. 2020-4-18 深度学习笔记20 - 深度生成模型 2 (深度信念网络DBN,深度玻尔兹曼机DBM)
  13. Master of Typing Tutor 1.2.3 特别版 Mac 打字练习软件掌握打字
  14. spring集成flyway
  15. 互联网人典型体检报告?
  16. 无符号数和有符号数的溢出判断
  17. ARM linux系统调用的实现原理
  18. android7.0控件,Nova启动器「Nova Launcher」v7.0.30 for Android 直装解锁专业版「+未读计数插件」 —— 最强大的老牌安卓第三方启动器...
  19. jQuery dialog实现登陆,增删改操作
  20. pdf转png,解决微信,Android不能直接展示pdf的问题

热门文章

  1. ZBar源码分析(七)
  2. PHP商城架构图,[架构图]某商城框架分析
  3. c语言拍手游戏,有趣的拍手游戏 | 浙江金华师范附属小学
  4. jira linux 一键安装包下载,JIRA使用教程:使用文件包安装JIRA
  5. JVM常用内存参数配置
  6. 数据库课程大作业:课程管理系统——java实现、图形化,我写了MySQL和SQL两个版本
  7. 二叉树的先序、中序、后序遍历C++
  8. kiss原则包括什么_KISS原则以及介绍
  9. windos下Qt Creator CMake error: Generator: execution of make failed. Make command was: jom /nologo al
  10. 通过驱动修改USB转串口设备的友好名称