用户登录
用户注册

分享至

线性方程组求解软件 有没有可以解线性方程组的软件啊

  • 作者: 回眸一声吼
  • 来源: 51数据库
  • 2020-04-21

matlab,mathematica,maple都可以,maple很好上手,我就在用这个。这里可以给你个下载地址,然后进去以后帮助会告诉你怎么解方程组之类。

(其实你只要对矩阵进行操作就可以了,这样反而简单)

http://www.verycd.com/topics/2788587/

另外说实话,克莱默法则是解线性方程组最方便的东西了。。在网上找计算器的话也都是用克莱默法则去消矩阵。google或者百度一下“矩阵计算器”或者“matrix calculator”,很方便的。

用数学软件帮我解一下这个线性方程组,谢谢。在线等

>> syms x1 x2 x3

f1='7*x1+18.2*x2+43.03*x3=48.79';

f2='18.2*x1+45.03*x2+190.472*x3=144.661';

f3='43.03*x1+190.472*x2+677.8756*x3=488.9851';

[x1,x2,x3]=solve(f1,f2,f3)

x1 =

2.651814995704870955594634762305

x2 =

1.0526500813748260520128146341261

x3 =

0.25724061234125189784346572909063

>>更多

对不起,刚才数据有误第一个系数是8,不是7.我知道答案和算法,我用LU分解法答案不对

我重新计算了 发不上来 ...........

是不是1.7、0.9、0.3?

求解大型非线性方程组有什么软件

MATLAB里面本来就是有函数调用的 叫fslove

这是本人的一个函数例子 也是解方程组的

mfunction q=myfun(p)

a(1)=4.04;

a(2)=2.2525;

a(3)=1.4422;

b(1)=20.2;

b(2)=50.5;

b(3)=72.108;

x(1)=p(1);

x(2)=p(2);

x(3)=p(3);

x(4)=p(4);

x(5)=p(5);

x(6)=p(6);

q(1)=x(1)*sin(x(2))-a(1)*x(5);

q(2)=x(1)*sin(x(3))-a(2)*x(5);

q(3)=x(1)*sin(x(4))-a(3)*x(5);

q(4)=x(1)*cos(x(2))-a(1)*x(6)-b(1);

q(5)=x(1)*cos(x(3))-a(2)*x(6)-b(2);

q(6)=x(1)*cos(x(4))-a(3)*x(6)-b(3);

% x=fsolve(#39;myfun#39;,[0.5 0.5 0.5 0.5 0.5 0.5]#39;,optimset(#39;Display#39;,#39;off#39;));

用什么软件求解线性方程组比较好

用Matlab可以求,不过有点大材小用

C语言程序解线性方程组

来,给你个LU分解法解方程的c程序

#include <stdio.h>

#include <string.h>

#include <math.h>

#include <stdlib.h>

#define N 20

/*以下程序为不选主元的三角分解法(Doolittle)*/

main()

{

int i,j,k,s;

float a[N][N]={0},L[N][N]={0},U[N][N]={0},sigma1,sigma2,b[N],y[N],x[N];

/*为L主对角线元素赋1*/

for(i=0;i<N;i++)

{

L[i][i]=1;

}

/*输入矩阵a*/

for(i=0;i<N;i++)

{

printf("请输入矩阵第%d行元素:\n",i+1);

for(j=0;j<N;j++)

scanf("%f",&a[i][j]);

}

/*计算U第一行的元素和L第一列的元素*/

for(i=0;i<N;i++)

{

U[0][i]=a[0][i];

L[i][0]=a[i][0]/U[0][0];

}

for(k=1;k<N;k++)

{

/*计算矩阵U*/

for(j=k;j<N;j++)

{

sigma1=0;

for(s=0;s<=k-1;s++)

sigma1+=L[k][s]*U[s][j];

U[k][j]=a[k][j]-sigma1;

}

/*计算矩阵L*/

for(i=k;i<N;i++)

{

sigma2=0;

for(s=0;s<=k-1;s++)

sigma2+=L[i][s]*U[s][k];

L[i][k]=(a[i][k]-sigma2)/U[k][k];

}

}

/*输出矩阵L、U*/

printf("a矩阵为:\n");

for(i=0;i<N;i++)

{

for(j=0;j<N;j++)

printf("%5.1f ",a[i][j]);

printf("\n");

}

printf("L矩阵为:\n");

for(i=0;i<N;i++)

{

for(j=0;j<N;j++)

printf("%5.1f ",L[i][j]);

printf("\n");

}

printf("U矩阵为:\n");

for(i=0;i<N;i++)

{

for(j=0;j<N;j++)

printf("%5.1f ",U[i][j]);

printf("\n");

}

printf("请输入b矩阵\n",i+1);

for(i=0;i<N;i++)

scanf("%f",&b[i]);

/*回代法求解方程组Ly=b*/

for(i=0;i<N;i++)

{

sigma1=0;

for(k=0;k<=i-1;k++)

sigma1+=L[i][k]*y[k];

y[i]=b[i]-sigma1;

}

for(i=N-1;i>=0;i--)

{

sigma2=0;

for(k=i+1;k<N;k++)

sigma2+=U[i][k]*x[k];

x[i]=(y[i]-sigma2)/U[i][i];

}

printf("x为:\n");

for(i=0;i<N;i++)

printf("%5.1f ",x[i]);

printf("\n");

}

a[i][j]中包括常数项么

不包括,运行之后根据提示来就行。其实可以再matlab里边直接用A矩阵的逆矩阵,左乘b矩阵,就得出结果。方法是先定义好A(10*10)矩阵,定义好b(10*1)矩阵,命令inv(A)*b得到结果

线性代数有几种解线性方程组的方法?

第一种 消元法 ,此法 最为简单,直接消掉只剩最后一个未知数,再回代求余下的未知数,但只适用于未知数个数等于方程的个数,且有解的情况。

第二种 克拉姆法则, 如果行列式不等于零,则用常数向量替换系数行列式中的每一行再除以系数行列式,就是解;

第三种 逆矩阵法, 同样要求系数矩阵可逆,直接建立AX=b与线性方程组的关系,X=A^-1.*b就是解

第四种 增光矩阵法, 利用增广矩阵的性质(A,b)通过线性行变换,化为简约形式,确定自由变量,(各行中第一个非零元对应的未知数除外余下的就是自由变量),对自由变量进行赋值,求出其它未知数,然后写成基础解析的形式,最后写出通解。

这种方法需要先判别: 增广矩阵的秩是否等于系数矩阵的秩,相等且小于未知数个数,则无穷多解;等于未知数个数,唯一解。 秩不想等,无解。

第五种 计算机编程,随便用个软件,譬如Matlab,输入密令,直接求解。

目前这5中教为适用,适合一切齐次或者非齐次线性方程组。

在MATLAB软件下,如何求解超定线性方程组

使用solve命令吧, 用来解普通方程组的

dsolve是用来解微分方程组

求一个能解方程组的软件

百度百科:

wolframalpha

找到网址。

再输入方程组。

如:

1.2x+5.6+23z=1, 234x+22y+11z=0, 232x+13y+88z=22

注意:

(1) 中间用逗号,而且要加个空格。

否则它把1,234 当成1234了。

用分号的话,它只显示最后一条方程。

(2) 如果系数都是整数,那么在Solution 那里,

点击 Approximate form 或 Exact form,

可以在分数和小数之间切换。

(3) 如果以后用来解无理方程,log(x) 在里面指 ln x .

转载请注明出处51数据库 » 线性方程组求解软件 有没有可以解线性方程组的软件啊

软件
前端设计
程序设计
Java相关