matlab编程软件(matlab编程)

导读 大家好,我是小曜,我来为大家解答以上问题。matlab编程软件,matlab编程很多人还不知道,现在让我们一起来看看吧!1、展开全部2、不需要用...

大家好,我是小曜,我来为大家解答以上问题。matlab编程软件,matlab编程很多人还不知道,现在让我们一起来看看吧!

1、展开全部

2、不需要用循环,直接使用逻辑数组运算更快。

3、我假设你的x和x(1)--x(n)是不同的变量,那么我用a来表示你的x,用x数组代表你的x(1)--x(n)

4、我随便给这些数赋值

5、a=10;

6、x=1:3:30;

7、k=5;

8、temp = true(size(x));

9、temp(k) = false;

10、y = prod(a - x) / prod(x(k) - x(temp));

11、a-x是生成数组[a-x(1), a-x(2), ..., a-x(n)],prod()是吧这个数组相乘

12、temp是一个逻辑数组,和x相同大小,并且只有第k个数是false。x(temp)就是生成[x(1), x(2),..., x(k-1), x(k+1), ..., x(n)]

13、其他的应该容易理解

14、补充:

15、拉格朗日插值多项式可也这么写:

16、%x0,y0是已知各点坐标,共n点

17、x0 = [1, 2, 3];

18、y0 = [1, 8, 27];

19、n = length(x0);

20、%x是要求的点

21、x = 4;

22、y = 0;

23、for k = 1:n

24、 temp = true(size(x0));

25、 temp(k) = false;

26、 y = y + y0(k) * prod(x - x0(temp)) / prod(x0(k) - x0(temp));

27、end

本文到此讲解完毕了,希望对大家有帮助。

最新文章