MATLAB在分段函数的应用要点.docx
- 文档编号:293652
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:17
- 大小:306.43KB
MATLAB在分段函数的应用要点.docx
《MATLAB在分段函数的应用要点.docx》由会员分享,可在线阅读,更多相关《MATLAB在分段函数的应用要点.docx(17页珍藏版)》请在冰豆网上搜索。
MATLAB在分段函数的应用要点
《MATLAB语言》课程论文
MATLAB在分段函数的应用
姓名:
万治邦
学号:
12010245309
专业:
通信工程
班级:
2010级
指导老师:
汤全武
学物理院:
电气信息学院
完成日期:
2011年11月28日
MATLAB在分段函数中的应用
(万治邦120102453092010级通信工程1班)
[摘要]在数学中有很多关于分段函数的知识,我们通常所学的,也只是一些简单分段函数。
当遇上一些多元多次线性方程组时,想要求解,是非常困难的。
利用MATLAB编程语言就可以实现对一些复杂的分段喊数进行求解。
将MATLAB语言运用到我们的学习中,就可以使我们对这方面的知识进行获取时简便起来。
[关键词]数学分段函数MATLAB语言图形绘制
一、问题的提出
MATLAB语言作为一种简便实用的程序语言,将它的简便易操作运用到学习和教学中,会极大地简化学习中的复杂问题,这样就可以将我们从复杂的公式计算中解脱出来。
MATLAB提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能.将MATLAB语言与数学结合起来,这无疑会弥补数学的复杂计算所带来的问题。
二、数学分段函数中的应用
1、分析一元二次函数分段函数的特性
利用MATLAB解决一些数学中常见的分段函数性质问题,这样将MATLAB和数学结合起来可以提高学习效率,加深对函数的理解。
下面我们就讨论利用MATLAB程序求解分段函数性质问题。
问题一、定义分段函数下面
分段函数
MATLAB程序如下:
functiony=f(x)%定义函数
y=zeros(size(x));%产生与矩阵X同样大小的零矩阵
[mn]=size(x);%定义矩阵
fora=1:
m%矩阵宽度
forb=1:
n%矩阵长度
ifx(a,b)<0%选择结构
y(a,b)=log(-x(a,b))+x(a,b);
else
y(a,b)=2*x(a,b)^2-3*sin(x(a,b));%选择结构
end%结束if语句
end%结束for语句
end%结束for语句
问题二:
简单的绘图
MATLAB程序如下:
x1=0:
0.01:
1;%设置x1的变换范围
x2=1:
0.01:
2;%设置x1的变换范围
y1=x1;%定义y1
y2=2-x2;%定义y2
x=[x1,x2];%定义x矩阵
y=[y1,y2];%定义y矩阵
plot(x,y)%绘制关于x、y的曲线
运行结果如图1所示
图1
问题三、一元二次分段函数的MATLAB实现
定义如下
1、写出一个函数文件实现该函数
2、做出函数图形
3、求
的零点与最值
解:
1、函数文件实现该函数
编写M函数文件
functiony=f(x)%定义分段函数
n=length(x)%设置X的取值范围
ifx<0&x~4%选择结构
y=x.^2+x-6;
elseifx>=&x<10&x~=2&x~3%选择结构
y=x.^2+5*x+6;
else
y=x.^2-x-1;
end%结束if语句
把文件f.m放置在搜索路径上
运行命令:
令x=5,则在命令窗口输入指令
y=f(5)
得到答案:
y=
56
2、图形
MATLAB程序如下:
x1=(-5):
0.01:
0;%设置X1的取值变化
y1=x1.^2+x1-6;%定义函数f1(x)
plot(x1,y1,'m-');%y1的平面线图
holdon%设置图形保持状态
x2=0:
0.01:
10;%设置X2的取值变化
y2=x2.^2-5*x2+6;%定义函数f2(x)
plot(x2,y2,'r:
');%y2的平面线图
holdon%设置图形保持状态
x3=10:
0.01:
15;%设置X3的取值变化
y3=x3.^2-x3-1;%定义函数f3(x)
plot(x3,y3);%y3的平面线图
x4=-4;%设置X4的值
y4=x4.^2-x4-1;%定义函数f4(x)
plot(x4,y4,'p');%y4的平面线图
holdon%设置图形保持状态
x5=2;%设置X5的值
y5=x5.^2-x5-1;%定义函数y5
plot(x5,y5,'b*')%y5的平面线图
holdon%设置图形保持状态
x6=3;%设置X6的值
y6=x6.^2-x6-1;%定义函数y6
plot(x6,y6,'g*');%y6的平面线图
title('函数f(x)的图形');%加图形标题
text(-4,-20,'曲线f1(x)=x^2+x-6');%在指定位置添加图形说明
text(2,40,'曲线f2(x)=x^2-5x+6');%在指定位置添加图形说明
text(10,146,'曲线f3(x)=x^2-x-1');%在指定位置添加图形说明
legend('f1(x)','f2(x)','f3(x)','x=2','x=3');%加图例
运行结果如图2所示
图2
3、
的零点和最值
的零点
当
时;
;
由函数的系数矩阵可得函数的根,即:
pl=[1,1,-6];
x1=roots(pl);
x1=
-3
2
由题意可知,
的取值范围在
,所以
舍去,即
的零点之一为
.
当
时;
由函数的系数矩阵可得函数的根,即
p2=[1,-5,6];
x2=roots(p2);
x2=
3.0000
2.0000
因为
当
时
由函数的系数矩阵可得函数的根,即:
p3=[1,-1,-1];
x2=roots(p3);
X2=
1.6180
-0.6180
有题意可知,
在定义域内没有零点。
综上所述,
在定义域内只有一个零点,即
.
的最小值
如图1所示,
在定义域内之存在一个最小值,且处于最左段函数图形
上,即当
时,
拥有最小值,因此,用fminbded函数可求出
函数的最小值,指令如下:
x(l)=fminbnd('x(l).^2+x(l)-6',-5,0)
y1=x(l).^2+x(l)-6
x=
-0.5000
y1=
-6.2500
所以函数
最小值为
.
通过以上程序对一元二次分段函数的讨论,学会了能用MATLAB实现对函数的性质问题求解。
下面进一步讨论利用在MATLAB函数文件绘制分段函数图形问题。
四、在函数文件下绘制分段函数图形
将MATLAB强大的绘图功能应用到数学图形的绘制上,当遇到一些复杂的函数图形时,就可以很好地解决图形绘制难的问题。
这样我们在数学函数和图形的时候就可以有一个直观的参考,而MATLAB绘图功能的操作简单、功能强大就简化了一些复杂的操作。
下面我们就讨论有关利用MATLAB程序绘图的问题。
1一元分段函数的图形绘制
问题四、用MATLAB绘制分段函数
图像
MATLAB程序如下:
把下面的函数保存为Piecewise_x.m文件
function
F=Piecewise_x(x)
F=x.^2.*(x>=0&x<1)+cos(pi*(x-1)).*(x>=1&x<2)+(-x.^2./(x+2)).*(x>=2&x<=4);
end
运行:
x=linspace(0,4);
F=Piecewise_x(x);%计算相应函数值
plot(x,F);%绘制曲线
holdon;
plot(1*ones(1,2),ylim,'r:
');%画区间间隔线
plot(2*ones(1,2),ylim,'r:
');%画区间间隔线
x=linspace(0,4);%设置线性等分向量
F=Piecewise_x(x);%计算相应函数值
plot(x,F);%绘制曲线
holdon;%设置图形保持状态
plot(1*ones(1,2),ylim,'r:
');%画区间间隔线
plot(2*ones(1,2),ylim,'r:
');%画区间间间隔线
运行结果如图3
图3分段函数图
2、二元二次分段函数函数的MATLAB绘图
问题五:
函数
的图形绘制
MATLAB程序如下:
把下面的函数保存为Piecewise_xy.m文件
functionPxy=Piecewise_xy(x,y)
Pxy=0.5457*exp(-0.75*y^2-3.75*x^2-1.5*x).*(x+y>1)+...
0.7575*exp(-y^2-6*x^2).*(x+y>-1)+...
0.5457*exp(-0.75*y^2-3.75*x^2+1.5*x).*(x+y<=-1);
end
运行:
[x,y]=meshgrid(-3:
0.1:
3);%产生“格点”矩阵
s=size(x)
Pxy=zeros(s
(1),s
(2));%定义矩阵x是s
(1)s
(2)零矩阵
fori=1:
s
(1)
forj=1:
s
(2)
Pxy(i,j)=Piecewise_xy(x(i,j),y(i,j));%定义分段函数
end
end
mesh(x,y,Pxy)%定义网线图
运行结果如图4
图4
问题七、绘制分段函数图形
MATLAB程序如下:
Clear%清除内存变量和函数
clc;%清楚指令窗
x=0:
0.01:
1;%定义x的取值范围
n=length(x);%加图例
y=zeros(1,n);%产生1n零矩阵
fori=1:
101
ifx(i)<=0.25
y(i)=100*x(i).^2;
elseifx(i)<=0.5
y(i)=100*x(i).*(1-x(i))-12.5;
else
y(i)=x(i).*(1-x(i));
end
end
end
Figure%创建图形窗口
plot(x,y);%绘制关于x,y的曲线
运行结果如图5所示
图5
通过以上利用MATLAB绘图功能绘制分段函数图形问题的讨论,我们就会在此基础上加深对MATLAB强大功能的认识,在利用MATLAB解决其他问题时就有了实际的参考,下面就对物理中的分段函数问题结合MATLAB程序语言进行解决。
五、物理学中分段函数的应用
物理中经常会遇到一些复杂的分段函数图形,如果利用手工绘制或其他的绘制图形方式时,难免会造成图形与实际的偏差。
这样在观察图形获取图形参数时就会造成不必要的误差。
下面我们就讨论物理学中复杂分段函数利用MATLAB程序语言绘制图形的问题
问题八、两个分段函数的MATLAB实现
MATLAB程序如下:
clear;%清除内存变量和函数
t=0:
0.01:
18;%设置t的变化范围
d1=zeros(size(t));%定义d1是矩阵t同样大小的零矩阵
d2=zeros(size(t));%定义d2是矩阵t同样大小的零矩阵
N=length(t);%加图例
fori=1:
N
if0<=mod(t(i),6)&mod(t(i),6)<3
d1(i)=-(400/27)*(1/4*(mod(fix(t(i)),6)+t(i)-fix(t(i))).^4-2*(mod(fix(t(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 分段 函数 应用 要点