Matlab与C计算

时间:2017-05-16 04:45:54

标签: c matlab

我正在尝试将Matlab代码转换为c代码,我使用Matlab结果验证每一步。一切都匹配,除了减法,误差范围是1e-14但是由于迭代,它会影响整个答案。

Matlab的:

 s = c-A'*y;

c code:

 for (i=0;i<A_cols;i++)
{
 s[i][0] = c[i][0]-Temp_Mat_0[i][0];
}

我把它(A'* y)放在一边并将其与Matlab代码

相匹配

我为两者输入了相同的值,但保存或显示如下: 值是:

  A_example[16]= {8,1,1,2,-1,5,23,7,5,8,10,1,12,-1,5,23};
  b_example[16]= {5.3326,12.8165,10.0277,19.4862};
  c_example[16]= {13.3215,4.0611,24.2008,27.7622};

c代码:保存为

enter image description here

输出s:

enter image description here

Matlab输出是:

K>> full(A)

ans =

     8     1     1     2
    -1     5    23     7
     5     8    10     1
    12    -1     5    23

K>> full(b)

ans =

    5.3326
   12.8165
   10.0277
   19.4862

K>> full(c)

ans =

   13.3215
    4.0611
   24.2008
   27.7622

s =

   1.0e-13 *

   -0.0355
    0.1599
   -0.1421
    0.0711

这个错误除了基于​​减法的其他错误之外,我的c代码计算漂移得很远!有没有办法让两个代码以相同的精度工作?

0 个答案:

没有答案