R语言解线性方程组和求极值

Python021

R语言解线性方程组和求极值,第1张

1、R语言矩阵函数

t(x) 转置diag(x) 对角阵x %*% y 矩阵运算solve(a,b) 运算a%*%x=b得到xsolve(a) 矩阵的逆rowsum(x)行加和colsum(x)列加和rowMeans(x) 行平均colMeans(x) 列平均

2、求解线性方程组

分析:使用函数solve(a,b),运算a%*%x=b得到x。a<-matrix(c(1,1,1,-1),2,2)b<-c(3,1)solve(a,b)运行结果>a<-matrix(c(1,1,1,-1),2,2)b<-c(3,1)solve(a,b)[1] 2 1a<-matrix(c(1,1,1,-1),2,2)

b<-c(3,1)

solve(a,b)

运行结果

>a<-matrix(c(1,1,1,-1),2,2)b<-c(3,1)solve(a,b)

[1] 2 1

注:这里矩阵a从数组读数是按照列读数

你先试试这样

lm.test=lm(y~x1+x2,test)

根据你的报错:non-numeric argument to function

就是说你的数据里面有非数字型的,可能是NA,可能是字符“n/a” 仔细排查一下吧

可能是数据量不够,或者方程的构建有问题。

解普通方程组可以用函数solve(),solve()的基本用法是solve(A,b),其中,A为方程组的系数矩阵,b为方程组的右端。例如:已知方程组 :2x1+2x3=1;2x1+x2+2x3=2;2x1+x2=3。