天天看点

《R的极客理想——高级开发篇 A》一一1.2 R语言中的数学计算

本节书摘来华章计算机出版社《r的极客理想——高级开发篇 a》一书中的第1章,第1.2节,作者:张丹 更多章节内容可以访问云栖社区“异步社区”公众号查看。

问题

如何用r语言进行数学计算?

《R的极客理想——高级开发篇 A》一一1.2 R语言中的数学计算

引言

r语言是统计语言,生来就对数学有良好的支持,用r语言做数学的计算题特别方便。如果计算器中能嵌入r语言的计算函数,那么绝对是一种高科技产品。我真的把r语言当成我的计算器了!

1.2.1 基本计算

r语言对数学计算有着非常好的支持,本节将完整介绍初等数学中的各种计算操作。

本节的系统环境是:

用r语言实现四则运算操作,包括加、减、乘、除、余数、整除、绝对值、判断正负。

用r语言实现累积计算操作,包括累加、累乘、最小累积、最大累积。

《R的极客理想——高级开发篇 A》一一1.2 R语言中的数学计算

2.?反三角函数

基本的反三角函数定义如下。

用r语言实现反三角函数的计算,包括反正弦、反余弦、反正切。

反三角函数画图,以下代码生成反三角函数曲线,如图1-5所示。

library(testthat) # 加载testthat包 a<-5;b<-10 # 定义变量 平方和公式:

sin2(x)+cos2(x)=1

sin(a)^2+cos(a)^2

[1] 1

ai<-5+2i;ai # 直接创建复数

[1] 5+2i

class(ai) # 查看复数的类型

[1] "complex"

is.complex(bi)

[1] true

re(ai) # 实数部分

[1] 5

im(ai) # 虚数部分

[1] 2

mod(ai) # 取模

[1] 5.385165 # sqrt(5^2+2^2) = 5.385165

arg(ai) # 取辐角

[1] 0.3805064

conj(ai) # 取轭
a<-5;b<-2;c<-3;d<-4 ai<-complex(real=a,imaginary=b) bi<-complex(real=c,imaginary=d)
expect_that(complex(real=(a+c),imaginary=(b+d)),equals(ai+bi)) expect_that(complex(real=(a-c),imaginary=(b-d)),equals(ai-bi)) expect_that(complex(real=(ac-bd),imaginary=(ad+bc)),equals(ai*bi)) expect_that(complex(real=(ac+bd),imaginary=(bc-ad))/(c^2+d^2),equals(ai/bi))
x<-seq(-5,5,by=0.01) # 创建数据点 y<-f1(x,a,b) df<-data.frame(x,y) g<-ggplot(df,aes(x,y)) # 用ggplot2来画图 g<-g+geom_line(col='red') # 红色直线 g<-g+geom_point(aes(result$root,0),col="red",size=3) # 点 g<-g+geom_hline(yintercept=0)+geom_vline(yintercept=0) # 坐标轴 g<-g+ggtitle(paste("y =",a,"* x +",b)) g

继续阅读