matlab计算器设计
- 格式:docx
- 大小:17.89 KB
- 文档页数:10
matlabfir滤波器设计在数字信号处理中,滤波器是一种常用的工具,用于处理信号的频率特性。
其中,FIR(有限脉冲响应)滤波器是一种常见的滤波器类型之一。
MATLAB提供了方便的工具和函数来设计和实现FIR滤波器。
在本文中,我们将介绍MATLAB中如何使用fir1函数来设计FIR滤波器。
要使用fir1函数设计FIR滤波器,需要指定滤波器的阶数和截止频率。
阶数决定了滤波器的复杂度,而截止频率则决定了滤波器的频率响应特性。
通过调整这两个参数,可以设计出不同类型的滤波器,如低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
接下来,我们可以使用fir1函数来设计一个简单的低通滤波器。
例如,我们可以指定一个4阶低通滤波器,截止频率为0.5(归一化频率,取值范围为0到1)。
通过调用fir1函数并传入相应的参数,即可得到设计好的滤波器系数。
设计好滤波器系数后,我们可以将其应用于信号处理中。
例如,我们可以使用filter函数来对信号进行滤波。
将设计好的滤波器系数和待处理的信号作为输入参数传入filter函数,即可得到滤波后的信号。
这样,我们就可以实现对信号的滤波处理。
除了fir1函数外,MATLAB还提供了其他用于滤波器设计的函数,如firpm、fircls、firls等。
这些函数可以实现更复杂的滤波器设计,满足不同的需求。
通过选择合适的函数和参数,可以设计出性能优越的滤波器,用于各种信号处理应用中。
MATLAB提供了强大的工具和函数来设计和实现各种类型的滤波器。
通过合理选择滤波器的阶数和截止频率,以及使用适当的函数来设计滤波器系数,可以实现对信号的有效滤波处理。
希望本文能够帮助读者了解MATLAB中fir1函数的使用方法,进一步掌握滤波器设计的技巧,提高信号处理的效率和质量。
matlabfir滤波器设计MATLAB是一个高级编程语言和交互式环境,被广泛应用于各种科学和工程问题的数值分析、数据可视化和编程开发等领域。
FIR滤波器是数字信号处理中经常使用的一种滤波器,它是基于有限长冲激响应的滤波器。
在MATLAB平台上,我们可以使用fir1函数来设计FIR滤波器。
一、FIR滤波器设计基础1.1 什么是FIR滤波器FIR滤波器是有限长冲激响应滤波器,由于其具有线性相位特性和可控阶数等优点,在数字信号处理中得到了广泛的应用。
一般来说,FIR滤波器的频率响应特性由滤波器的系数函数确定。
FIR滤波器的设计一般采用窗函数法、最小二乘法、频率抽取法等方法。
窗函数法是最常见的一种方法,大部分情况下选择的是矩形窗、汉宁窗、布莱克曼窗等。
1.3 fir1函数介绍fir1函数是MATLAB中用于FIR滤波器设计的函数,用法为:h = fir1(N, Wn, type)N为滤波器的阶数,Wn是用于指定滤波器截止频率的参数,type指定滤波器类型,可以是低通、高通、带通、带阻等。
二、使用fir1函数设计FIR滤波器2.1 设计要求采样率为300Hz;滤波器阶数为50;截止频率为50Hz。
2.2 实现步骤(1)计算规范化截止频率规范化截止频率是指在数字滤波器设计中使用的无单位量,通常范围为0到1。
在本例中,我们需要将50Hz的截止频率转化为规范化截止频率。
Wn = 2*50/300 = 1/3根据计算出的规范化截止频率和滤波器阶数,我们可以使用fir1函数来进行滤波器设计。
此处滤波器的阶数为50,规范化截止频率为1/3,类型为低通。
(3)绘制滤波器的幅频响应图为了验证设计的低通FIR滤波器是否符合要求,我们需要绘制其幅频响应图。
freqz(h,1,1024,300)经过上述步骤后,我们就得到了一张低通FIR滤波器的幅频响应图,如下图所示:图1.低通FIR滤波器的幅频响应图三、总结通过上述例子,我们可以看出在MATLAB中与fir1函数可以非常方便的进行FIR滤波器的设计。
Matlab技术滤波器设计工具概述:滤波器是信号处理中常用的工具,用于去除信号中的噪声或改变信号的频率响应。
Matlab是一个强大的数学工具,提供了丰富的滤波器设计函数和工具,使得滤波器设计变得简单易用。
本文将介绍Matlab中常用的滤波器设计函数和工具,帮助读者了解如何利用Matlab来设计不同类型的滤波器。
I. 常用滤波器设计函数Matlab提供了多个函数用于滤波器设计,包括FIR滤波器和IIR滤波器。
1. FIR滤波器设计函数FIR(Finite Impulse Response)滤波器是一种常见的线性相位滤波器,其特点是无反馈,具有线性相位和稳定的响应。
Matlab中常用的FIR滤波器设计函数包括fir1、fir2、firpm等。
- fir1函数可以设计标准的低通、高通、带通和带阻滤波器,可以指定截止频率、滤波器类型和滤波器阶数。
- fir2函数可以设计任意的线性相位FIR滤波器,可以指定滤波器的频率响应和频率区间。
- firpm函数可以设计最小最大化滤波器,可以指定滤波器的通带、阻带特性和响应类型。
2. IIR滤波器设计函数IIR(Infinite Impulse Response)滤波器是一种常见的递归滤波器,其特点是具有反馈,可以实现更高阶和更复杂的滤波器。
Matlab中常用的IIR滤波器设计函数包括butter、cheby1、cheby2、ellip等。
- butter函数可以设计巴特沃斯滤波器,可以指定滤波器的阶数和截止频率。
- cheby1和cheby2函数可以设计Chebyshev滤波器,可以指定滤波器的阶数、通带/阻带最大衰减和截止频率。
- ellip函数可以设计椭圆滤波器,可以指定滤波器的阶数、通带/阻带最大衰减和截止频率。
II. 滤波器设计工具除了上述的滤波器设计函数外,Matlab还提供了几个可视化的滤波器设计工具,方便用户通过图形界面进行滤波器设计。
1. FDA工具箱Matlab中的FDA工具箱(Filter Design and Analysis)是一个图形界面工具,用于设计、分析和实现各种滤波器。
Matlab并行计算工具箱及MDCE介绍.doc3.1 Matlab并行计算发展简介MATLAB技术语言和开发环境应用于各个不同的领域,如图像和信号处理、控制系统、财务建模和计算生物学。
MATLAB通过专业领域特定的插件(add-ons)提供专业例程即工具箱(Toolbox),并为高性能库(Libraries)如BLAS(Basic Linear Algebra Subprograms,用于执行基本向量和矩阵操作的标准构造块的标准程序)、FFTW(Fast Fourier Transform in the West,快速傅里叶变换)和LAPACK(Linear Algebra PACKage,线性代数程序包)提供简洁的用户界面,这些特点吸引了各领域专家,与使用低层语言如C语言相比可以使他们很快从各个不同方案反复设计到达功能设计。
计算机处理能力的进步使得利用多个处理器变得容易,无论是多核处理器,商业机群或两者的结合,这就为像MATLAB一样的桌面应用软件寻找理论机制开发这样的构架创造了需求。
已经有一些试图生产基于MATLAB的并行编程的产品,其中最有名是麻省理工大学林肯实验室(MIT Lincoln Laboratory)的pMATLAB和MatlabMPI,康耐尔大学(Cornell University)的MutiMATLAB和俄亥俄超级计算中心(Ohio Supercomputing Center)的bcMPI。
MALAB初期版本就试图开发并行计算,80年代晚期MATLAB的原作者,MathWorks公司的共同创立者Cleve Moler曾亲自为英特尔HyperCube和Ardent 电脑公司的Titan超级计算机开发过MATLAB。
Moler 1995年的一篇文章“Why there isn't a parallel MATLAB?[**]” 中描述了在开了并行MATLAB语言中有三个主要的障碍即:内存模式、计算粒度和市场形势。
基于Matlab的FIR滤波器设计与实现⼀、摘要 前⾯⼀篇⽂章介绍了通过FDATool⼯具箱实现滤波器的设计,见“”,这⾥通过⼏个例⼦说明采⽤Matlab语⾔设计FIR滤波器的过程。
⼆、实验平台 Matlab7.1三、实验原理 以低通滤波器为例,其常⽤的设计指标有:1. 通带边缘频率f p(数字频率为Ωp)2. 阻带边缘频率f st (数字频率为Ωst)3. 通带内最⼤纹波衰减δp=-20log10(1-αp),单位为 dB4. 阻带最⼩衰减αs=-20log10(αs),单位为 dB5. 阻带起伏αs6. 通带峰值起伏αp 其中,以1、2、3、4条最为常⽤。
5、6条在程序中估算滤波器阶数等参数时会⽤到。
数字频率 = 模拟频率/采样频率四、实例分析例1 ⽤凯塞窗设计⼀FIR低通滤波器,通带边界频率Ωp=0.3pi,阻带边界频率Ωs=0.5pi,阻带衰减δs不⼩于50dB。
⽅法⼀:⼿动计算滤波器阶数N和β值,之后在通过程序设计出滤波器。
第⼀步:通过过渡带宽度和阻带衰减,计算滤波器的阶数B和β值。
第⼆步:通过程序设计滤波器。
程序如下:b = fir1(29,0.4,kaiser(30,4.55));[h1,w1]=freqz(b,1);plot(w1/pi,20*log10(abs(h1)));axis([0,1,-80,10]);grid;xlabel('归⼀化频率/p') ;ylabel('幅度/dB') ;波形如下:⽅法⼆:采⽤[n,Wn,beta,ftype] = kaiserord(f,a,dev)函数来估计滤波器阶数等,得到凯塞窗滤波器。
这⾥的函数kaiserord(f,a,dev)或者kaiserord(f,a,dev,f s): f为对应的频率,f s为采样频率;当f⽤数字频率表⽰时,f s则不需要写。
a=[1 0]为由f指定的各个频带上的幅值向量,⼀般只有0和1表⽰;a和f长度关系为(2*a的长度)- 2=(f的长度) devs=[0.05 10^(-2.5)]⽤于指定各个频带输出滤波器的频率响应与其期望幅值之间的最⼤输出误差或偏差,长度与a相等,计算公式:阻带衰减误差=αs,通带衰减误差=αp,可有滤波器指标中的3、4条得到。
实验⼀_MATLAB_软件环境及基本操作实验⼀ MATLAB 软件环境及基本操作⼀、实验⽬的熟悉 MATLAB 软件的⼯作环境,练习 MATLAB 命令窗⼝的基本操作。
⼆、实验内容1、命令窗⼝(Command Window )运⾏⼊门(1)最简单的计算器使⽤法【例 1】求[12 + 2×(7- 4)]÷32的算术运算结果。
1)⽤键盘在 MATLAB 命令窗⼝中命令提⽰符>>后输⼊以下内容:(12+2*(7-4))/3^22)在上述表达式输⼊完成后,按【Enter 】键,执⾏命令。
3)MA TLAB 命令窗⼝中将显⽰以下结果:ans =【例 2】简单矩阵的输⼊步骤。
123A=4567891)在键盘上输⼊下列内容A = [1,2,3; 4,5,6; 7,8,9]2)按【Enter 】键执⾏命令。
3)在命令执⾏后,MATLAB 命令窗⼝中将显⽰以下结果:A =1 2 34 5 67 8 9【例 3】矩阵的分⾏输⼊A=[1 2 34 5 67 8 9](显⽰结果同例2)【例 4】命令的续⾏输⼊。
…是续⾏符号,表明下⼀⾏是本⾏的接续。
S = 1 – 1/2 + 1/3 –1/4 + 1/5 – 1/6 ... + 1/7 – 1/8S =0.6345 (2)复数和复数矩阵【例1】复数z1 = 3+ 4i,z2 =1+ 2i,z3 = 2eπi/6表达,及计算123z z zz(1)直⾓坐标表⽰法z1= 3 + 4iz1 =3.0000 +4.0000i(2)采⽤运算符构成的直⾓坐标表⽰法和极坐标表⽰法>> z2 = 1 + 2 * i %运算符构成的直⾓坐标表⽰法。
z2 =1.0000 +2.0000i>> z3=2*exp(i*pi/6) %运算符构成的极坐标表⽰法z3 =1.7321 + 1.0000i>> z=z1*z2/z3z =0.3349 + 5.5801i【例-2】复数矩阵的⽣成及运算>> A=[1,3;2,4]-[5,8;6,9]*iB=[1+5i,2+6i;3+8*i,4+9*i]C=A*BA =1.0000 - 5.0000i 3.0000 - 8.0000i2.0000 - 6.0000i 4.0000 - 9.0000iB =1.0000 + 5.0000i2.0000 + 6.0000i3.0000 + 8.0000i4.0000 + 9.0000iC =1.0e+002 * 0.9900 1.1600 - 0.0900i1.1600 + 0.0900i 1.3700【例3】求上例复数矩阵C 的实部、虚部、模和相⾓。
matlab fir2的设计方法
MATLAB中的fir2函数用于设计滤波器的频率响应,采用基于FIR (有限脉冲响应)的方法。
fir2函数的使用方法如下:
1. 定义频率向量:在设计FIR滤波器之前,首先需要定义一个频率向量,指定所需的频率响应。
>> f = [0, 0.1, 0.2, 0.5, 0.6, 1]; % 频率向量,范围为[0, 1],其中1对应采样频率的一半
2. 定义幅度向量:在频率向量上对应的每个点上定义一个幅度值,用于指定所需的频率响应。
>> a = [1, 1, 0, 0, 0, 0]; % 幅度向量,与频率向量对应,表示在每个频率点上的幅度值
3. 定义滤波器的阶数:根据所需的频率响应,确定滤波器的阶数。
>> n = 30; % 滤波器的阶数,通常选择一个偶数值
4. 使用fir2函数设计滤波器:根据以上定义的频率向量、幅度向量和滤波器阶数,调用fir2函数设计滤波器。
>> b = fir2(n, f, a); % 调用fir2函数设计滤波器,得到系数向量b
设计完成后,可以使用filter函数将滤波器应用于信号,或使用freqz 函数查看滤波器的频率响应。
选择结构编程练习1. 身高预测每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。
小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为男性成人时身高=(faHeight + moHeight)×0.54cm女性成人时身高=(faHeight×0.923 + moHeight)/2cm此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
2. 简单的计算器用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。
(1)如果要求程序能进行浮点数的算术运算,程序应该如何修改?如何比较实型变量data2和常数0是否相等?(2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空白符,那么程序如何修改?(3)(选作题)如果要求连续做多次算术运算,每次运算结束后,程序都给出提示:Do you want to continue(Y/N or y/n)?用户输入Y或y时,程序继续进行其他算术运算;否则程序退出运行状态。
那么,程序如何修改?循环结构编程练习猜数游戏在这个实验中,我们将尝试编写一个猜数游戏程序,这个程序看上去有些难度,但是如果按下列要求循序渐进地编程实现,会发现其实这个程序是很容易实现的。
引言伪随机噪声具有类似于随机噪声的某些统计特性,同时又能够重复产生。
由于它具有随机噪声的优点,又避免了随机噪声的缺点,因此获得了日益广泛的实际实用。
这种周期性数字序列称为随机序列,有时又称为随机信号和伪随机码。
m序列是伪随机序列中最重要的序列中的一种,它不但具有易于产生的特点,还具有良好的自相关特性,在扩频通信中得到了广泛的应用。
1. m序列设计方案选择1.1 方案一编程实现m 序列:MA TLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。
1.2方案二图1.1 Simulink 实现m 序列Simulink 实现m 序列(如图1.1所示) 。
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
通过比较方案一和方案二,发现方案一的优点具有通用性,其中mserises.m相当于一个通项,根据具体的本原多项式调用它即可,而方案二利用MATLAB的simulink直接搭建模块,在移位寄存器较少时利用此方法极为简单,可是当移位寄存器的数量增多时,要搭建那么多的模块就显得很繁琐,缺乏通用性。
2.Simulink工具介绍2.1 Simulink简介Simulink是MATLAB软件最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可以构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用与控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
matlab滤波器设计命令Matlab滤波器设计命令滤波器是数字信号处理中常用的工具,用于去除信号中的噪声、频率干扰或其他不需要的成分。
Matlab提供了一系列有用的滤波器设计命令,使用户能够轻松设计并应用各种类型的滤波器。
在本文中,我们将详细介绍Matlab中常用的滤波器设计命令,包括滤波器设计函数、滤波器类型和设计过程。
I. Matlab中常用的滤波器设计函数在Matlab中,有几种函数可用于设计滤波器,其中最常用的函数是`designfilt`函数和`fir1`函数。
1. designfilt函数`designfilt`函数是Matlab中最灵活和功能强大的滤波器设计函数之一,可用于设计各种类型的IIR和FIR滤波器。
它的基本语法如下:`filt = designfilt(FilterType, 'PropertyName', PropertyValue, ...)`其中,`FilterType`代表滤波器类型,包括低通滤波器(Lowpass)、高通滤波器(Highpass)、带通滤波器(Bandpass)、带阻滤波器(Bandstop)等。
`PropertyName`和`PropertyValue`是可选的参数,用于设置滤波器的各种属性,如阶数(Order)、截止频率(CutoffFrequency)、通带和阻带的最大衰减(MaximumAttenuation)等。
下面是一个使用`designfilt`函数设计低通滤波器的例子:Fs = 1000; 采样频率Fpass = 20; 通带截止频率Fstop = 30; 阻带截止频率designfilt('lowpassiir', 'FilterOrder', 4, 'PassbandFrequency', Fpass, 'StopbandFrequency', Fstop, 'SampleRate', Fs)该命令将设计一个4阶的低通IIR滤波器,其通带截止频率为20Hz,阻带截止频率为30Hz,采样频率为1000Hz。
什么是MATLAB符号计算?MATLAB符号计算是一种强大的工具,它可以帮助数学家、工程师和科学家解决复杂的数学问题。
MATLAB符号计算工具箱具有强大的符号计算引擎,可以进行符号计算、求解代数和微积分问题、进行方程求解和求极限等操作。
该工具箱还具有丰富的数学函数库,可以进行符号函数的差分、积分、微分等操作。
MATLAB符号计算工具箱可以帮助用户快速准确地求解复杂的数学问题,提高工作效率,节省时间和精力。
nabal算子的定义和特点nabal算子是一种常见的微分算子,它在多种数学问题中起着重要的作用。
nabal算子的定义如下:nabal算子是一个矢量微分算子,通常表示为▽或者grad。
在直角坐标系中,nabal算子可以表示为:▽ = i∂/∂x + j∂/∂y + k∂/∂z其中i、j、k分别是x、y、z轴的单位矢量,∂/∂x、∂/∂y、∂/∂z分别表示对x、y、z的偏微分运算。
nabal算子常常出现在物理学、工程学和数学领域的各种方程中,如Maxwell方程、波动方程、热传导方程等。
其特点主要包括:1. 矢量微分运算:nabal算子是一个矢量微分算子,可以对矢量函数进行微分运算。
2. 方向导数:nabal算子可以求取函数在某个方向上的导数,从而帮助分析函数在该方向上的变化趋势。
3. 梯度:nabal算子的梯度运算可以得到一个矢量场的梯度,表示该场在某一点的变化率最快的方向和变化率的大小。
MATLAB中nabal算子的应用在MATLAB中,可以使用符号计算工具箱对nabal算子进行运算和操作。
通过对符号函数进行微分运算和矢量运算,可以方便地求取nabal算子的梯度、散度、旋度等性质,对各种数学问题进行分析和求解。
下面以一个具体的例子来展示MATLAB中nabal算子的应用:假设有一个二维向量场F(x, y) = P(x, y)i + Q(x, y)j,其中P(x, y)和Q(x, y)分别是x和y的函数。
课程设计报告
题 目 数学计算器的开发 课 程 名 称 软件设计 院 部 名 称 机电工程学院 专 业 自动化 班 级 学 生 姓 名 学 号 课程设计地点 课程设计学时 指 导 教 师 金陵科技学院教务处制 一、课程设计应达到的目的 本课程是为自动化专业本科生开设的专业课程设计课。通过本课程的课程设计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。通过本课程设计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实现GUI程序设计的能力。
二、 课程设计的基本要求: 要求利用MATLAB GUI设计实现一个图形用户界面的计算器程序,要求实现: A. 具有友好的用户图形界面。实现十进制数的加、减、乘、除、乘方、取模等简单计算。(必做) B. 科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。(必做) C. 能够保存上次历史计算的答案,先是答案存储器中得内容。(必做) D. 有清除键,能清除操作,并对不正确的表达式能指出其错误原因。(必做) E. 独立存储器功能,使之可以直接输入存储器,可与存储器中的数值相加减。能够清除独立存储器中的内容。(选做)
成绩 利用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及命令按钮,调整好各控件大小、颜色,整体布局如图所示: 然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。
三、课题设计内容与步骤 各功能界面设计 GUI设计界面: 各功能模块实现 算法设计: A. 数字键设计:0—9以及小数点函数都一样,只是参数不同: textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','1') ; else textString =strcat(textString,'1'); set,'String',textString) end B. 四则运算函数: textString = get,'String'); ss=char(textString); l=length(textString); if(ss(l)=='+'||ss(l)=='-'||ss(l)=='*'||ss(l)=='/'||ss(l)=='.') textString=ss(1:l-1); end textString =strcat(textString,'+'); set,'String',textString) C. 科学计算函数: textString = get,'String'); a = strread(textString, '%f'); a=sin(a); set,'String',a) D. 退格键:通过取屏幕值,计算出其字符长度,然后取其前N-1项的值来实现退格: textString = get,'String'); if(strcmp(textString,'0')==1)&(jj==0) set,'String','0') ; else ss=char(textString); l=length(textString); textString=ss(1:l-1); set,'String',textString) E. 清屏键函数: set,'String','0') ; F. +/-的实现 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','0') ; else a = strread(textString, '%f'); a=0-a; set,'String',a) end 各模块实现结果 A. 数字键: B. 四则运算函数: C. 科学计算函数: Sin1的计算结果= 、结果分析 计算(1+9)/5 计算结果=2 计算3*4 计算结果=12 arcsin1计算结果 0log2的报错:通过输入的数据与‘0’字符比较,若两者相等,则显示“error”
进行报错,结果如下: 经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。
四、课程设计源代码
A. 数字键设计: 按键“0” :通过get函数获得输入的字符,函数strcat获得字符'0',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','0') ; else textString =strcat(textString,'0'); set,'String',textString) end 按键“1” :通过get函数获得输入的字符,函数strcat获得字符'1',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','1') ; else textString =strcat(textString,'1'); set,'String',textString) end 按键“2” :通过get函数获得输入的字符,函数strcat获得字符'2',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','2') ; else textString =strcat(textString,'2'); set,'String',textString) End 按键“3” :通过get函数获得输入的字符,函数strcat获得字符'3',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','3') ; else textString =strcat(textString,'3'); set,'String',textString) end 按键“4” :通过get函数获得输入的字符,函数strcat获得字符'4',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','4') ; else textString =strcat(textString,'4'); set,'String',textString) end 按键“5” :通过get函数获得输入的字符,函数strcat获得字符'5',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','5') ; else textString =strcat(textString,'5'); set,'String',textString) end 按键“6” :通过get函数获得输入的字符,函数strcat获得字符'6',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','6') ; else textString =strcat(textString,'6'); set,'String',textString) end 按键“7” :通过get函数获得输入的字符,函数strcat获得字符'7',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','7') ; else textString =strcat(textString,'7'); set,'String',textString) end 按键“8” :通过get函数获得输入的字符,函数strcat获得字符'8',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','8') ; else textString =strcat(textString,'8'); set,'String',textString) end 按键“9” :通过get函数获得输入的字符,函数strcat获得字符'9',并用set函数进行显示输出 textString = get,'String'); if(strcmp(textString,'0')==1) set,'String','9') ; else textString =strcat(textString,'9'); set,'String',textString) end
B. 四则运算函数: 按键“+” :通过get函数获得输入的字符,函数strcat获得字符'+',并用set函数进行显示输出 textString = get,'String'); ss=char(textString); l=length(textString);