一般情况下,一个函数对应一个m文件,且文件名与函数名相同。
由于c写习惯了,尝试将主函数和函数写在同一个m文件中。
格式如下:
function name
主函数主体
end
function s=name(x)
函数主体
end
注意:主函数前不能有代码,比如close all;clear all;之类的。
附 例程
book2_2.m
%数值计算课本第二章计算实习第二题
function book2_2
n=20;
length = n+1;
x_in = -1:2/100:1;
t = 1:size(x_in,2);
x = -1:2/10:1;
y = 1./(1+25*x.^2)
y_out = 1./(1+25*x_in.^2);
%lagrange
y_out_lag = lagrange(x,y,x_in);
%spline
S=csapi(x,y);
y_out_s = fnval(S,x_in);
plot(t,y_out,'r',t,y_out_lag,'b',t,y_out_s,'y');
title('n=20');
end
function y_out=lagrange(x,y,x_in)
ii=1:length(x)
y_out = zeros(size(x_in))
for i=ii
ij=find(ii~=i);
y1=1;
for j=1:length(ij)
y1=y1.*(x_in-x(ij(j)));
end
y_out=y_out+y1*y(i)/prod(x(i)-x(ij));
end
end