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

article/2025/3/9 8:39:43

一. 可变输入输出个数

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});
end
end

运行结果:


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{}

解:

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(句柄,'属性名')

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

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


http://chatgpt.dhexx.cn/article/lA0ydk8g.shtml

相关文章

python画图函数大全

很多时候&#xff0c;我们需要用python画图&#xff0c;这样就可以更加直观的看到数据的走势&#xff0c;而不是干巴巴的数字。 今天&#xff0c;我们就给大家整理了一下python画图的常用函数&#xff0c;由于篇幅限制。无法将这些函数的使用方法全部表现出来。所以&#xff0c…

matlab简单函数画图例题,Matlab(十) 简单的函数画图

4 (80%) 1 vote 众所周知&#xff0c;matlab有强大的功能&#xff0c;其中包括绘制函数的图形&#xff0c;本篇博客将讲解如何用matlab绘制简单的函数。 在日常生活中&#xff0c;我们用纸笔可以绘制出x,y轴&#xff0c;以及我们所学到的知识来大致绘制出函数的图形&#xff0c…

python画图的函数_python画图函数

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 在pycharm的idea下&#xff0c;如果绘图完成后&#xff0c;记得调用done()函数&#xff0c;让窗口进入消息…

面试软件测试工程师的全部过程(让你身临其镜!)

面试之前一定要认真过一遍自己的简历&#xff0c;技术面基本上问的都是你简历上写的内容,我简历上有个模块是[专业技能]列举了我会些什么&#xff0c;面试官就对着简历一项一项的问我。简历一定不要夸大&#xff0c;不要把自己不会的写上去&#xff0c;被问到不会很尴尬。 我第…

软件测试工程师常见的面试题大全

&#xff08;一&#xff09; 1、软件测试的流程是什么&#xff1f; 分析&#xff1a;每当HR问一个问题的时候我们都可以用1~2s的时间去想HR想要从这个问题中获取什么信息&#xff0c;这点搞清楚之后再去回答就很好回答了。如果有工作经验&#xff0c;直接按照公司流程回答即可…

2023软件测试工程师面试题汇总-看完你离大厂不远了

都说知己知彼方能百战不殆 &#xff0c;转眼间2023年已经来到&#xff0c;现在已经是一月中旬了&#xff0c;每年的3.4月都是找工作的好时机&#xff0c;我们又经常叫他们金三银四。 今天就给大家汇总了很多关于测试的面试题&#xff0c;希望能够够给接下来找测试工作的小伙伴…

2022-软件测试工程师面试题(自我总结)

bug的定义&#xff0c;bug的周期 软件bug是指软件程序的漏洞和缺陷&#xff0c;测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等生命周期中缺陷状态&#xff1a;新建-->指派-->已解决-->待验-->关闭 发现BUG-->提交BUG--&g…

软件测试工程师面试基础题(应届生和测试小菜必备)最基础的面试题

​ 前言&#xff1a;【文章末尾给大家留下了大量的福利】 什么是测试&#xff1f; 答&#xff1a; &#xff08;美国电器和电子工程师协会&#xff09;IEEE提出的软件工程标准术语&#xff0c;使用人工和自动手段来运行或测试某个系统的过程&#xff0c;目的在于检验它是否满足…

关于外企银行的软件测试工程师面试

最近有同学面试了外企&#xff0c;需要一些基础的英文沟通&#xff0c;于是结合自己以前的外企面试经历&#xff0c;稍微总结了一些主要内容&#xff0c;供有需要者参考。

软件测试工程师面试必备技能

一年之际在于春&#xff0c;新年伊始&#xff0c;又到了跳槽的好季节&#xff0c;不知道你是不是已经安于现状&#xff0c;就自己的经历来分析下作为测试工程师跳槽前应该准备哪些知识&#xff0c;才能在面试官面前表现出众。 主要分享内容如下: 被面试到的 Linux 命令&#…

2022 软件测试工程师面试题小结【附带答案】

金三银四开始啦&#xff0c;这几天都会给大家分享一些软件测试的面试&#xff0c;来看看今天分享的内容&#xff1a; 被面试到的 Linux 命令&#xff1b; 项目经验是如何被考核的&#xff1b; 被面试到的 SQL 语句。 被问到的自动化知识&#xff1b; 被问到的性能测试知识&…

软件测试最全面试题及答案整理(2023最新版)

1、你的测试职业发展是什么?   测试经验越多&#xff0c;测试能力越高。所以我的职业发展是需要时间积累的&#xff0c;一步步向着高级测试工程师奔去。而且我也有初步的职业规划&#xff0c;前3年积累测试经验&#xff0c;按如何做好测试工程师的要点去要求自己&#xff0c…

putchar在c语言中作用,putchar()的功能是什么

putchar()的功能是向终端输出一个字符&#xff1b;putchar的语法结构为“int putchar(int char)”&#xff0c;表示把参数char指定的字符写入到标准输出stdout中&#xff1b;putchar是C库函数&#xff0c;包含在C标准库中。 本文操作环境&#xff1a;Windows7系统&#xff0c;D…

putchar和getchar的用法

putchar是在屏幕上打印一个字符&#xff0c;如&#xff1a; 其结果为&#xff1a; 而getchar则是输入一个字符&#xff0c;如&#xff1a; 其结果为&#xff1a; 所以从两次结果可以了解到getchar和putchar的作用&#xff0c;值得注意的是它们的输入输出为简单的输入输出&…

putchar和getchar用法

目录 getchar 我们先来看看这个函数的官方解释 那该如何使用呢&#xff1f; putchar getchar 我们先来看看这个函数的官方解释 如果这里有同学对EOF还不是很了解的话可以点击这里进行了解&#xff1a;点我了解EOF 很明显&#xff0c;getchar就是从缓存区里读取一个字符…

WERTYU UVA - 10082 (getchar,putchar用法)

理解getchar和putchar 键盘输入的字符都存到缓冲区内,一旦键入回车,getchar就进入缓冲区读取字符,一次只返回第一个字符作为getchar函数的值,如果有循环或足够多的getchar语句,就会依次读出缓冲区内的所有字符直到’\n’.要理解这一点,之所以你输入的一系列字符被依次读出来,是…

getchar与putchar

一、getchar getchar() 用于读取用户从键盘输入的单个字符&#xff0c;它有一个整型的返回值&#xff0c;当发生读取错误的时候&#xff0c;返回整型值-1。当读取正确的时候&#xff0c;它会返回用户从键盘输入的第一个字符的ASCII码&#xff0c; 当程 序调用getchar时.运行程…

getchar与putchar用法及缓冲区详解

一. getchar和putchar库函数的用法 1.1getchar库函数的用法 getchar 库函数的定义&#xff1a;int getchar (void) 使用getchar库函数的前提是引用#include <stdio.h>头文件getchar函数是输入字符函数&#xff08;终端输入&#xff09;&#xff0c;每一次执行只读取一个…

c语言putchar作用和用法,转:c语言EOF是什么?(及getchar()和putchar用法)

我学习C语言的时候&#xff0c;遇到的一个问题就是EOF。 它是end of file的缩写&#xff0c;表示"文字流"(stream)的结尾。这里的"文字流"&#xff0c;可以是文件(file)&#xff0c;也可以是标准输入(stdin)。 比如&#xff0c;下面这段代码就表示&#xf…

getchar与putchar用法

#include<stdio.h>main(){int i;igetchar();//相当于char i;scanf("%c",&i); putchar(i);//相当于printf("%c",i); 需要i是字符才能输出不能是变量printf("\n");printf("%d",i);}输出结果一致 #include<stdio.h>main…