1、高效的数值计算功能。目前其他编程语言以及其他类似的数学软件无可替代;
2、完备的计算结果和编程可视化功能。这一点其他软件,无可替代;
3、接近数学表达式的自然化m语言。非常易于学习和掌握;Matlab软件就是一个编程开发环境,自带的m语言简单易用,有编程开发经验的人应该是非常容易掌握的,支持面向对象编程;
4、功能丰富的应用工具箱与Help系统。目前Matlab的工具箱总数很多,覆盖了数学,统计,仿真,电子,生物信息学,金融,测试等等各个方面。
具体的功能示例:
可以做小游戏,可以进行精确的数学计算(高数,概率,线代方程,尤其擅长矩阵),三维建模画出立体图形,与C++,Python等混合编程,用simulink 3d animation做3D机械运动模型,较高级别的电路仿真,可以与精密仪器结合计算数据并绘制图像,可以做音乐,哈哈甚至可以用来修图等等多种功能。
你给出的是C语言程序吧,matlab也是一样的,只不过数组的编号是从1开始的,而且语法有些不同。
t(1)=0
s(1)=0
B(1)=0
for n=2:160
x(n)=z600028;
t(n)=x(n)2/13+t(n-1)11/13
s(n)=x(n)2/27+s(n-1)25/27
A(n)=t(n)-s(n)
B(n)=A(n)2/10+B(n-1)8/10
end
不需要用循环,直接使用逻辑数组运算更快。
我假设你的x和x(1)--x(n)是不同的变量,那么我用a来表示你的x,用x数组代表你的x(1)--x(n)
我随便给这些数赋值
a=10;
x=1:3:30;
k=5;
temp = true(size(x));
temp(k) = false;
y = prod(a - x) / prod(x(k) - x(temp));
a-x是生成数组[a-x(1), a-x(2), , a-x(n)],prod()是吧这个数组相乘
temp是一个逻辑数组,和x相同大小,并且只有第k个数是false。x(temp)就是生成[x(1), x(2),, x(k-1), x(k+1), , x(n)]
其他的应该容易理解
补充:拉格朗日插值多项式可也这么写:
%x0,y0是已知各点坐标,共n点
x0 = [1, 2, 3];
y0 = [1, 8, 27];
n = length(x0);
%x是要求的点
x = 4;
y = 0;
for k = 1:n
temp = true(size(x0));
temp(k) = false;
y = y + y0(k) prod(x - x0(temp)) / prod(x0(k) - x0(temp));
end
以上就是关于MATLAB 能做什么全部的内容,包括:MATLAB 能做什么、如何用matlab编写函数程序、问一下大神matlab应该怎么编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)