
我假设你的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的command window 的窗口中,输入edit 文件名(文件名一般以字母开头),如下:
>>edit main
再回车,就会在左侧的current folder里面新建一个名为mian的.m文件,d出编辑窗口,在编辑窗口输入你要编写的程序即可。
也可以直接点击matlab左上角的新建按钮,新建一个文件,即New script,在里面编写程序,并保存在你指定的位置,这时候也可以修改文件名。
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
语法规则如下:
还有其他的continue,break语句与c语言类似,而input()的用法与python类似。
此外c语言中的”!“在matlab中用”~“
在matlab中对于自带的函数可以直接调用,若是自写函数,如冒泡排序算法
新建脚本后,保存为BubbleSort.m, 注意文件名要与函数名一致
在调用的时候,只用新建脚本(与函数文件在同一路径下),即可直接调用
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)