我有amatrix m
,它包含三次多项式系数的不同值,我想找到这些三次函数的最大实根。我怎么能在R?中做到这一点?
m = matrix(c(1, 3, 4, 6, 7, 8, 9, 2, -3, -5, 6, 2), nrow = 3)
colnames(m) <- c("d", "c", "b", "a")
我想在m
矩阵的每一行使用polyroot,我怎样才能在R中执行此操作?
答案 0 :(得分:1)
这不会是:
apply(m , 1, polyroot)
...当然记住,结果将按列顺序排列。
apply( apply(m, 1,polyroot) , 2, function(x) ifelse( abs(Im(x)) < 0.00001, x,NA))
[,1] [,2] [,3]
[1,] NA -0.416256-0i -0.4167669+0i
[2,] NA NA NA
[3,] 2.34748+0i NA NA