if x(k)<0 & x(k)~=-3 y(k)=x(k).^2+x(k)-6;
elseif x(k)>=0&x(k)<10&x(k)~=2&x(k)~=3 y(k)=x(k).^2-5*x(k)+6; else
y(k)=x(k).^2-x(k)-1; end end
for i=1:length(y)
disp(['y(',num2str(x(i)),')','=',num2str(y(i))]); end
实验六 MATLAB函数文件程序设计
实验内容及步骤 1、
编写一个函数文件chengji.m,用于求两个矩阵的乘积和点乘,然后在命
令行窗口中调用该函数(提示:使用varargout函数)
要求:1)当两矩阵是尺寸相同的方阵时,返回它们的乘积和点乘。 2)当两矩阵不是尺寸相同的方阵时,则根据它们的尺寸,分别进行乘积或点乘
3)当两矩阵的尺寸不能满足乘积或点乘的要求时,则提示“这两个矩阵不能乘”
解:function varargout=chengji(a,b) [x,y]=size(a); [xx,yy]=size(b); if xx==yy&x==y&x==xx varargout{1}=a*b; varargout{2}=a.*b; elseif x==xx&y==yy varargout{1}=a.*b; disp('只能做点乘') varargout{2}=0; elseif x==yy&xx==y
disp('可以做两种矩阵乘') varargout{1}=a*b; varargout{2}=b*a; elseif x==yy||xx==y try
varargout{1}=a*b; disp('只能做矩阵乘') varargout{2}=0; catch
varargout{1}=b*a; disp('只能做矩阵乘') varargout{2}=0;
end else
error('这两个矩阵不能乘') end 2、
编写一函数qiuhe.m,实现sum(A)的功能,其中A为矩阵。
解:function y=qiuhe(a) y=[];
[x,yy]=size(a); if x==1 s=0; for k=1:yy s=s+a(1,k); end y=s; else
for j=1:yy s=0; for i=1:x s=s+a(i,j); end y(1,j)=s; end end
3、 编写一个阶乘函数jiecheng.m,然后在试验三的编程题“分别使用for
和while语句找出最小的n值,使得n!>10100,并求出n!”程序中调用该函数。
解:function s=jiecheng(n) s=1; if n==0 s=1; elseif n<0
error('n必须大于等于0') else
for i=1:n s=s*i; end end
实验八 数据插值与曲线拟合实验
实验内容
1.已知原始数据x?0:1:4*pi,y?sin(x).*exp(?x/5),插值点为xi?0:0.3:4*pi,试用四种不同的插值方法进行插值,并在一副图中绘出四种插值曲线。 解:clear,clc x=0:1:4*pi;
y=sin(x).*exp(-x/5); xi=0:0.3:4*pi;
y1=interp1(x,y,xi,'nearset'); y2=interp1(x,y,xi,'linear'); y3=interp1(x,y,xi,'spline'); y4=interp1(x,y,xi,'cubic');
plot(x,y,'-m',xi,y1,'*r',xi,y2,'ok',xi,y3,'^b',xi,y4,'+g') legend('原始数据','最近点插值','线性插值','样条插值','立方插值') title('第一题 四种插值方法进行插值','FontName','隶书','FontSize',20) xlabel('X轴','FontName','隶书','FontSize',16) ylabel('Y轴','FontName','隶书','FontSize',16)
2.考虑下面的数据,一位举重教练收集了不同性别的举重动员每个年龄的最大举重磅数,他相信这三者之间存在着函数关系,请创建一个年龄数组,以便估算当前队伍中队员(要求13~20岁每一岁都有)的最大举重。
最 大 举 重 13 270 250 15 290 270 17 330 310 19 20 解:clear,clc t=[13 15 17 19 20]; sex=[0,1]';
y=[270 290 330 350 380;250 270 310 330
男 女 350 380 330 360 360 ]; x=[13:20]; sex_2=[0,1]';
y_2=interp2(t,sex,y,x,sex_2) surf(x,sex_2,y_2)
3.某乡镇企业2004-2010年的生产利润如下
年份 2004 2005 2006 2007 2008 2009 2010