MATLAB在分段函数的应用要点.docx

上传人:b****1 文档编号:293652 上传时间:2022-10-08 格式:DOCX 页数:17 大小:306.43KB
下载 相关 举报
MATLAB在分段函数的应用要点.docx_第1页
第1页 / 共17页
MATLAB在分段函数的应用要点.docx_第2页
第2页 / 共17页
MATLAB在分段函数的应用要点.docx_第3页
第3页 / 共17页
MATLAB在分段函数的应用要点.docx_第4页
第4页 / 共17页
MATLAB在分段函数的应用要点.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

MATLAB在分段函数的应用要点.docx

《MATLAB在分段函数的应用要点.docx》由会员分享,可在线阅读,更多相关《MATLAB在分段函数的应用要点.docx(17页珍藏版)》请在冰豆网上搜索。

MATLAB在分段函数的应用要点.docx

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(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1