许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  基于MATLAB的特殊函数与画图(附图像与代码)

基于MATLAB的特殊函数与画图(附图像与代码)

阅读数 7
点赞 0
article_banner


一. 可变 输入输出  个数

conv()函数可以计算两个 多项式  的积,利用varargin可以实现任意多个多项式的积。

举例

代码:

clc;clear;P=[1 2 4 0 5];Q=[1 2];F=[1 2 3]; %方法一D1=convs(P,Q,F)D1_sym=poly2sym(D1) %方法二D2=conv(conv(P,Q),F)D2_sym=poly2sym(D2)  function a=convs(varargin)a=1;for i=1:length(varargin),    a=conv(a,varargin{i});endend

运行结果:



   D1 = 1 6 19 36 45 44 35 30



   D1_sym =x^7 + 6*x^6 + 19*x^5 + 36*x^4 + 45*x^3 + 44*x^2 + 35*x + 30

D2 = 1 6 19 36 45 44 35 30



   D2_sym =x^7 + 6*x^6 + 19*x^5 + 36*x^4 + 45*x^3 + 44*x^2 + 35*x + 30

二. 几个特殊函数

2.1 inline函数

可以免去文件,格式如下:

fun=inline('函数内容',自变量列表)

例题1

计算:

f(x,y)=sin(x^2+y^2)

解:

MATLAB  代码:

f=inline('sin(x.^2+y.^2)','x','y');f(2,3)

运行结果:

ans =0.4202


2.2 匿名函数

f=@(x,y)sin(x.^2+y.^2)%f=@(变量列表)函数内容

2.3 feval函数

MATLAB提供的feval()函数是用来执行函数操作的函数,故有“函数的函数”之称,格式:

%格式1[y1,y2,···]=feval(fhandle,x1,···,xn)y=feval(@sin,2)%fhandle是函数句柄,函数句柄是一种数据类型,以@引导 %格式2[y1,y2,···]=feval(function,x1,···,xn)y=feval('sin',2)%function是函数名%x1,x2···,xn是输入参数%y1,y2···,yn是输出参数

举例

clc;clear;syms t;f=@(x,y)x^2+y^2;k1=feval(f,1,t)k2=f(1,t)

运行结果:

k1 =t^2 + 1

k2   =t^2 + 1

三. 绘制二维图像

已知:

t=t_1,t_2,\cdots,t_n

y=y(t_1),y(t_2),\cdots,y(t_n)

构造向量:

t=[t1,t2,\cdots,t_n],\quad y=[y(t_1),y(t_2),\cdots,y(t_n)]

画图格式:

plot(t,y)

曲线的性质,如线型、粗细、颜色等,还可以使用下面的命令进行指定

plot(t1,y1,选项1,t2,y2,选项2,···,tm,ym,选项m)

总结如下常用选项:


曲线线型曲线颜色标记符号
'-''b''*'
'--''g''.'
':''m''x'
'-.''w''v'
'none''c''hexagram'
'k''>'
'r''pentagram'
'y''o'
'^''square'
'diamond'
'<'

例题2

对以下函数画图:

y=sin(tanx)-tan(sinx),\quad x\in[-\pi,\pi]

解:

MATLAB代码:

 clc;clear;x=[-pi:0.05:pi]; %以0.05为步距构造自变量向量y=sin(tan(x))-tan(sin(x)); %求出各个点上的函数值plot(x,y)figure,plot(x,y,'r-.Pentagram') %红色 划线 每个转折点用五角星表示

运行结果:


四. 特殊命令画图

fplot()函数通过其内部的自适应算法来动态决定自变量的间隔,调用格式:

fplot(fun,limits,LineSpec)

举例

fplot(@(x1)sin(tan(x1))-tan(sin(x1)),[-pi,pi])

运行结果:

函数ezplot无需数据准备,可以画出隐函数

隐函数:形如f(x,y)=0这种不能写出y=f(x)函数

调用格式:

ezplot(f)%f是字符串或代表数学函数的符号表达式

举例

代码:

ezplot('sin(tan(x))-tan(sin(x))')

运行结果:


例题3

画图:

y=\begin{cases}1.1sign(x),&|x|>1.1\\x,&|x|\leq1.1 \end{}   y=\begin{cases}1.1sign(x),&|x|>1.1\\x,&|x|\leq1.1 \end{}   y=\begin{cases}1.1sign(x),&|x|>1.1\\x,&|x|\leq1.1 \end{}

解:

MATLAB代码:

clc;clear; %方法一x=[-2:0.02:2]; %生成自变量向量y=1.1*sign(x).*(abs(x)>1.1)+x.*(abs(x)<=1.1);plot(x,y) %方法二figure,plot([-2,-1.1,1.1,2],[-1.1,-1.1,1.1,1.1])

运行结果:


五.  图形元素属性获取与修改

图形中,每条曲线、坐标轴、图形窗口分别是一个对象。可用set()函数设置对象的属性,用get函数获得对象的某个属性:

set(句柄,'属性名1',属性值1···,'属性名2',属性值2,···) v=get(句柄,'属性名')

这两个语句在界面编程中很有用。图形句柄和图形之间是一种一一对应的关系,简单来说图形句柄就是指向了这个图形的一个变量,通过它可以设定该图形的各种属性。

句柄是编程的基础,一个句柄是指使用一个唯一的整数值,用于标志应用程序中的不同对象和同 类  对象中的不同实例,例如一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等,应用程序能够通过句柄访问相应的对象信息。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空