24小时热门版块排行榜    

查看: 2683  |  回复: 17

fabaoyi

新虫 (初入文坛)

【答案】应助回帖

引用回帖:
8楼: Originally posted by wangjunyahit at 2012-11-25 17:04:02
看不懂啊,能不能给下面的语句加点注释
=disha(B);                %??
x=(B(:,1:n))\B(:,n+1)       %??
s1=A(i,;                         %??
                A(i,=A(row+i-1,;
                A(row+i ...

表情不是我加的,是一些字符自动转成了表情
活着为了实现价值
11楼2012-11-25 21:57:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zsy312

银虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与! 2013-04-27 23:43:07
这种线性方程组直接有符号解, 还可以比较和数值解之间的误差
CODE:
A=[-1.2e-21,1.4e6,1.4e6,-1.4e6,1.3e6;
    8.9e-22,-1.4e6,4.9e3,3.8e3,0;
    1.8e-22,1.4e3,-1.4e6,4.3e3,0;
    4.4e-23,3.2e2,1.2e3,-5.1e6,4.3e3;
    5.3e-23,0,0,1.3e3,-2.3e6];
b=[0;-1.8e-4;-1.3e-2;-1.5e-2;-4.0e-3];

x=A\b;
A1=sym(A);
b1=sym(b);
x1=A1\b;
disp(['数值解: '])
disp(num2str(x))
disp(['符号解: '])
disp(x1)
disp(['符号解近似值: '])
disp(num2str(double(x1)))
disp(' ')
disp(['二者的误差为: '])
disp(num2str(x-double(x1)))

12楼2012-11-25 22:08:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zsy312

银虫 (小有名气)

输出:
CODE:
数值解:
1.029393177754837e+020
6.565808888911405e-008
2.25982285154494e-008
3.842185487752932e-009
4.113382036189007e-009
符号解:
388474900292779720441528931100854424320492441698304/3773824314049418181639511136225
              1776102037346606295811692690717/27050772683106229525992015824460800000
             3820622141326942446909828077309/169067329269413934537450098902880000000
                  7423863302538155608170509459/1932198048793302108999429701747200000
                  6409571567956304127562009059/1558224232897824281451152985280000000

符号解近似值:
1.029393177754837e+020
6.565808888911403e-008
2.25982285154494e-008
3.842185487752931e-009
4.113382036189006e-009

二者的误差为:
          32768
2.64697796e-023
3.30872245e-024
8.27180613e-025
1.65436123e-024

13楼2012-11-25 22:11:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

barryyee

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by fabaoyi at 2012-11-25 01:28:13
你学过数值分析没有,这个可以用高斯迭代法和雅可比迭代法求解,不过虽然用迭代法,跑程序时还是有警告,可能求解还是不是非常可靠,我求解了一个,下面我把高斯迭代法那个我求解用的程序和运行结果贴在下面:
function g ...

matlab 解线性方程组默认是高斯法,所以结果是一样的。
14楼2013-04-27 14:31:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

【答案】应助回帖


xiegangmai: 金币+1, 谢谢参与! 2013-04-27 23:43:15
对于刚性的矩阵,采用x=pinv(A)*b 就可以了
15楼2013-04-27 15:35:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

【答案】应助回帖

★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-04-27 23:43:24
CODE:
>> A=[-1.2e-21,1.4e6,1.4e6,-1.4e6,1.3e6;
     8.9e-22,-1.4e6,4.9e3,3.8e3,0;
     1.8e-22,1.4e3,-1.4e6,4.3e3,0;
     4.4e-23,3.2e2,1.2e3,-5.1e6,4.3e3;
     5.3e-23,0,0,1.3e3,-2.3e6];
b=[0;-1.8e-4;-1.3e-2;-1.5e-2;-4.0e-3];
>> x=pinv(A)*b

x =

   1.0e-08 *

   0.000000000000000
  -0.223269102876553
   0.689363755668183
   0.312251529518066
   0.091881357445947

>> vpa(x,30)

ans =

       3.70460811145685954277266468961e-37
  -0.0000000022326910287655349973263795146
   0.0000000068936375566818299856437653433
  0.00000000312251529518065781430357617809
0.000000000918813574459469995008142319883

16楼2013-04-27 15:45:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

【答案】应助回帖

★ ★ ★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-04-27 23:43:35
wangjunyahit: 金币+2, ★★★很有帮助 2013-04-30 16:19:30
CODE:
>> A=[-1.070906744447462E-017   244564571.598802        303866255.019473      303856255.019473        303756255.019473  ;  
    9.735515836938967E-017   -437040200.438244        546168396.621813        415770404.263350      0.000000000000000E+000 ;
    1.947103215071310E-017   157778358.747585     -986775896.684545        473345946.492110       0.000000000000000E+000;
    4.867758037678274E-018   34697270.0918581        136741245.043259       -1333413850.81819        473345946.492110   ;   
     5.841309406796348E-018  0.000000000000000E+000  0.000000000000000E+000   136741245.043259      -778102201.511583 ];
b=[ 104348331231.704       -2072871.66710357      -154296552.906917       -178403143.022063       -48501206.8009638 ]';
>> x=pinv(A)*b

x =

   1.0e+02 *

  -0.000000000000000
   1.682414884915961
   0.668383858892869
   0.388902999746503
   0.336174005405975

>> vpa(x,30)

ans =

-0.0000000000000000000000285841068286876334276912171331
                         168.241488491596101084724068642
                         66.8383858892869398005132097751
                         38.8902999746503041933465283364
                         33.6174005405974725135820335709

17楼2013-04-27 15:48:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

diqiuyazhou

木虫 (小有名气)

想问一下楼主,问题最后解决了吗,我最近也遇到这类问题,不知怎么办
18楼2015-04-22 23:37:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wangjunyahit 的主题更新
信息提示
请填处理意见