Если вы просто хотите, чтобы показывал , что такое многочлен, вы можете использовать:
polynomial = function(){
# Accept user input
input_m = as.numeric(readline("Degree? "))
input_coef = readline("Coefficients (separated by a single space): ")
m = input_m
# Split string
coef = strsplit(input_coef, " ")[[1]]
# Check for correct number of coefficients
if (length(coef) != m + 1)
stop("Incorrect number of coefficients for given m.")
# Add "+" to non-first positive coefficients
coef[-1][as.numeric(coef[-1]) > 0] = paste0("+", coef[-1][as.numeric(coef[-1]) > 0])
zeros = as.numeric(coef) == 0
# Make the polynomial
output = paste0(coef[!zeros], "*x^", (m:0)[!zeros], collapse = "")
# Replace "*x^0" with nothing
output = sub("\\*x\\^0", "", output)
return (output)
}
> polynomial()
Degree? 3
Coefficients (separated by a single space): 5 -3 0 2.1
[1] "5*x^3-3*x^2+2.1"
Если вы хотите использовать этот многочлен как функцию в другом месте в R, вы 'было бы лучше использовать пакет polynom
.