繁体   English   中英

在 Scilab 中求解线性方程组

Solving a linear system of equations in Scilab

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我想解决以下系统Ax=b ,其中A的维度是m , n (m>n) , b m , 1x n , 1 在 Scilab 下的解决方案之后,我发现我的向量 x 的某些分量很复杂,我觉得很奇怪,因为我被告知向量x必须是实数。 你怎么解释?

这是我的代码:

function [x] = sys_()
    [fid1,err1] = mopen("D:\Documents\sys_surdet\Donnees_test_A.txt","r");
    [fid2,err2] = mopen("D:\Documents\sys_surdet\Donnees_test_B.txt","r");
    A = mfscanf(-1,fid1,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f');
    b = mfscanf(-1,fid2,'%f');
    A=10^(-A/10);
    b=10^(b/10);
    col = size(A);
    j = zeros(col(1,1),1);
    x = zeros(col(1,2),1);
    if rank(A)==col(1,2) then
        x=(A'*A)\(A'*b);
    else
        x=-1;
    end
    mclose(fid1);
    mclose(fid2);
endfunction
2 个回复

线条

A=10^(-A/10);

b=10^(b/10);

似乎正在将数据从分贝转换回标准单位。 这是在整个向量或矩阵上一次完成的,类似于 Matlab 等。您是否确认此时 A 和 b 不是复值?

x=(A'*A)\\(A'*b);

这是求解方程组多于变量的方程组的标准正规方程组。 它是(除其他外)最小二乘解 x。 在 SCILAB 中,您只需使用

x=A\b;

这通常与解决方案不同

x=pinv(A)*b;

您的方程组在数值上可能接近奇异值(检查接近 0 的奇异值),或者可能没有解。

在 SCILAB 中,您可以获得有关方程组的更多信息

cond(A'*A)

要么

[x,kerA]=linsolve(A,-b);

有关更多详细信息,请参阅有关线性代数的 SCILAB 帮助部分。

我不知道这些是关于什么的:

A=10^(-A/10);
b=10^(b/10);

我会通过将两边预先乘以 A 转置并使用 LU 分解和反向替换来解决 x(线性最小二乘法)或奇异值分解(SVD)来解决这个问题。

1 在SciLab中求解非线性方程组

我正在尝试在SciLab中解决以下方程组: 我在SciLab中定义了以下函数: 看来可行。 我发现f3(1,1)是: 2. -8. 因此,我运行了以下命令: 我得到: 然后,我将函数fct定义如下: 然后,我运行命令: 并产生以下消息: ...

2018-10-16 01:00:56 1 189   scilab
2 求解线性方程组

我一直在尝试求解线性方程组,但是我没有做到这一点。 如果可以解决,我希望得到答案。 假设我们有一个角度A并且这个系统: 我正在寻找`x以及y和z,角度的值不是恒定的,但这是已知的! 如果有一种数值方法可以解决这个问题,我会着迷的。 PS:这不是功课。 我尝试过的所有东西 ...

2015-04-10 11:13:12 2 138   math
3 求解线性方程组

我有一个由6个方程组成的系统,我需要在一个程序中反复解决(当然有许多不同的输入)。 我目前正在使用Cramer的求解系统的规则方法并且它工作得很好(似乎我的处理器非常喜欢加法和乘法运算,它在1微秒内获得解决方案,尽管显式方程式长度超过2页)。 然而,我需要解决的次数是巨大的,我正在寻找一种更 ...

4 如何求解线性方程组?

我需要解决一个线性方程组: 哪里: 到目前为止,我已经写了: 问题是for循环只为我提供了P和Q的一种解决方案,我希望for循环可以计算100组值进行a,b,c,d,e和f并将数据存储在向量Q和P。 ...

5 求解线性方程组

我有两个(数学)函数: 这是通过y = 1和x = 1 。 见图片: 我怎样才能让朱莉娅为我做这件事? ...

2020-05-03 07:45:58 1 1600   julia
6 求解线性方程组

我正在研究使用有限元方法来计算通过元素的热流。 我目前坚持求解方程组,其中方程的两边都有变量。 一个简单的例子可能是这样的 我正在考虑使用的方法将矩阵减少到 2x2,因为温度“T1”是已知的,并相应地改变右手边。 并继续在“T3”行中做同样的事情。 然而,我的顾问一直在建议我反对这一点。 你会 ...

7 求解线性方程组

我有一个线性方程的列向量。 每个方程都是有趣的一系列变量(x1,x2,... x20,y1,y2,.....,y20),所有等式= 0 如何解决这些方程式 如何调用矩阵而不是每个方程eqn1,eqn2,...特别是对于大量方程 对于变量,同样可以将它们称为向量,而不是个人/ ...

9 如何在Excel中求解线性方程组?

我有一个由22个线性方程组成的系统(正好是22个方程和22个未知数),它们是在Excel电子表格中动态生成的。 有没有办法让Excel解决系统并为每个未知变量生成一个值? 另一个SO问题有很多关于用于解决这些方程的算法的良好信息。 Cramer的规则看起来很有希望,但我不确定如何在Ex ...

10 试图在Matlab中求解线性方程组

我遇到了一个问题,要求我解决一个线性方程组。 在问题中,它指出我应该建立矩阵A和列向量b来解决方程A x = b ,其中x是列向量(wxyz)。 到目前为止,这是我所做的,但是我知道MATLAB给我的答案是错误的,因为正确的解决方案应该是w = 10.5,x = 9,y = 2.5,z ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM