我需要帮助来创建函数(数学)以计算一些基本操作。的确,我是一个初学者,我真的不知道该怎么做。 我的任务是创建函数,该函数可以从标量或矩阵中取多项式的值。
第一个示例多项式为p1 = 1 + t,第二个多项式为p2 = 1+ t + t ^ 2
a <- matrix( c( 2, 0, 0, 1), 2, 2)
p1 <- c( 1, 1)
p2 <- c(1, 1, 1)
我的预期结果:
使用方法函数从标量计算多项式的值:
math( x1 = p1, x2 = 0)
output: 1
math( x1 = p1, x2 = 2)
output: 3
math( x1 = p2, x2 = 2)
output: 7
math( x1= p2, x2 = 1)
output: 3
使用方法函数从矩阵中计算多项式的值:
math( x1 = p1, x2 = a)
[,1] [,2]
[1,] 3 0
[2,] 0 2
math( x1= p2, x2 = a)
[,1] [,2]
[1,] 7 0
[2,] 0 3
答案 0 :(得分:-1)
power <- function(grade,p){
c=1
b=0
for (i in 1:grade) {
b=p*b+p
i=i+1
}
return(c+b)}
math <- function(a,b){
if(class(b)=="numeric"){
return(power(a,b))
}
if(class(b)=="matrix"){matrix= matrix(0,nrow(b),nrow(b))
for (i in 1:nrow(matrix)) {
matrix[i,i] <- power(a,b[i,i])
}
return(matrix)}}
对不起,我认为问题只有2种情况,现在您可以使用函数幂对其进行调整,等级是您多项式的次数,c是常数,p是x的值 例如:p(x):c + x + x ^ 2 + x ^ 3
edit:数学函数参数现在有所不同,首先是多项式的次数,其次是标量或矩阵。例如:math(2,2)= 7