数学实验和MATLAB的区别

2024-05-12 14:01

1. 数学实验和MATLAB的区别

选用何种数学软件?如果仅仅是要求一般的计算或者是普通用户日常使用,首选的是MathCAD,它在高等数学方面所具有的能力,足够一般客户的要求,而且它的输入界面也特别友好。
如果要求进行矩阵方面或图形方面的处理,则选择MATLAB,它的矩阵计算和图形处理方面则是它的强项,同时利用MATLAB的NoteBook功能,结合Word6.0/7.0的编辑功能,可以很方便地处理科技文章。
matlab在实际工程应用上的优势是非常巨大的,在工程上,matlab最大的用途就是进行模拟分析,而数学分析只是其庞大功能的其中一种。但是要知道,matlab之所以提供2000多函数的数学模型,是因为在工程计算中,确实会用到这些模型。比如说,有限元分析,这就必须要有强大的数学分析能力,才能完成。总的来说,对于初级应用,matlab的应用范围要远远比mathematica要广,使用的人数也非常多,因为在绝大多数情况下,我们或者很多非专业人员是需要一个软件直接提供一个直观的计算结果或者模拟结果的。这就是matlab的优势。
如果要求计算精度、符号计算和编程方面的话,最好同时使用Maple和Mathematica,它们在符号处理方面各具特色,有些Maple不能处理的,Mathematica却能处理,诸如某些积分、求极限等方面,这些都是比较特殊的。
mathematica的实际应用范围比matlab要小,但是不是说mathematica就比matlab要差。两者的侧重不一样。从名字上,就可以知道,mathematica是一款计算功能极其卓越的软件,不仅可以提供常规所有函数的数学模型,而且可以进行深度计算。国外很多著名的大学都在用它作解析计算和公式的推导,证明,算法的研究,非常好的数学研究软件,我个人认为是No.1。它的数学分析可视化无与伦比。综合性能和另一个著名的软件Maple相比,又过之而无不及,要知道世界上绝大部分的量子物理,天体物理论文中的公式推导都由它完成。
对于maple也具有相当卓越的符号计算功能,并且可视化程度相当高,我们熟悉的matalb的符号计算就是调用maple8的内核
一般来说mahtcad不学基本都会,matlab最容易上手,学的人也多,资料书籍也是最多,但是要真正学好不容易,mathematic适合做数学演算,maple还是符号计算了
因此建议,工科的同学使用matlab,理科的使用maple或者mathematic,数学系的使用mathematica

数学实验和MATLAB的区别

2. MATLAB与数学实验的介绍

《MATLAB与数学实验》的作者是周本虎,瞿勇。由中国林业出版社出版。本书是“高等院校应用数学教材”之一,全书共分软件篇和实验篇两个部分,软件篇系统地介绍了使用很广泛的数学软件MATLAB 6.5的基础知识;实验篇介绍了20个既有实际背景又有典型意义的数学实验,内容涉及微积分、线性代数、概率论与数理统计和数值分析。该书可供各大专院校作为教材使用,也可供从事相关工作的人员作为参考用书使用。

3. MATLAB实验

 1.理解连续系统时域分析方法.
   2.学习利用matlab对连续系统进行时域分析的方法.
   3.掌握单位冲激响应和单位阶跃响应一般求解方法和基本特征,学习利用matlab求此响应的方法。
   4.掌握单位冲激响应与系统稳定性、因果性之间的关系。
    二、实验器材 
   计算机、MATLAB软件
    三、实验原理 
   对于单输入-单输出系统的输入激励为 f (t),输出响应为y(t),则描述连续LTI系统的数学模型为n阶次的常系数线性微分方程,形式如下
   [图片上传失败...(image-82e2d0-1639285196529)] (3-1)
   式子中, a i  = 0,1,...n,和b i  =0,1,...m均为常数。
   由信号与系统的分析理论值,如果描述系统的微分方程、激励和初始状态已知,我们可用经典时域求解法求出其解。但对于高阶系统,手工计算十分的繁琐,甚至很困难,这时可以用matlab工具求解。
   Matlab里提供了求(3-1)解用到的函数,常用的是impluse()、step()、lism()、conv()、dsolve()。下面我们分别介绍这几个函数。
    1.****连续时间系统冲激响应和阶跃响应的求解 
   连续LTI系统的冲激响应和阶跃响应,分别用impluse和step求解。其调用格式为
   impluse (b,a) y=impluse(sys,t)
   step (b,a)   y=step(sys,t)
   式中,t表示计算系统响应的抽样点向量,sys是LTI系统模型,它表示 微分方程,差分方程或状态方程 。其调用格式
    sys = tf (b,a) 
   式中,b和a分别是微分方程的右端和左端系数向量。例如
   [图片上传失败...(image-63fd93-1639285196529)]
   用a=[a3,a2,a1,a0] ; b=[b3,b2,b1,b0] ,sys =  tf  (b,a) 获得其LTI模型。
    例1****:已知描述某连续系统的微分方程为 
   [图片上传失败...(image-954b31-1639285196529)]
    试利用matlab****绘出该系统的单位冲激响应和单位阶跃响应的时域波形,并根据单位冲激响应判断系统的稳定性和因果性。`1 
   matlab程序如下
   a=[1 1 6];
   b=[1];
   subplot(2,1,1)
   impulse(b,a)
   subplot(2,1,2)
   step(b,a)
   程序运行后,其图形如下3-1所示。
   [图片上传失败...(image-8ac458-1639285196530)]
    图****3-1   系统的冲激响应和阶跃响应图 
   从图3-1所示的系统的单位冲激响应的时域波形可以看出,当时间t<0时系统的单位冲激响应h(t)=0,所以该系统为因果系统;同时h(t)随着时间的增长而衰减,当t趋于无穷大时时,h(t)趋于零,所以系统也是一个稳定的系统。
    2.****连续时间系统零输入响应的求解 
   在MATLAB中,initial是求连续系统的零输入响应函数,其调用形式为
   initial(sys,x0)
   [y,x,t]=initial(sys,x0)
   initial函数可计算出连续时间线性系统由于初始状态所引起的响应(故而称零输入响应)。当不带输出变量引用函数时,initial函数在当前图形窗口中直接绘制出系统的零输入响应。
    例2****:已知描述某连续系统的微分方程为 
   [图片上传失败...(image-15bccf-1639285196529)]
    y(0)=1,y’(0)=2,   用matlab****求其零输入响应 
   程序如下:
   a=[1 1 6];
   b=[1];
   sys=tf(b,a);
   sys1=ss(sys); % 转成状态变量表示
   x0=[1,2]
   initial(sys1,x0)
   运行结果如图3-2所示
   [图片上传失败...(image-f08768-1639285196530)]
    图****3-2   系统的零输入响应图 
    3.****连续时间系统零状态响应的数值计算-----  lism()
   求解微分方程零状态响应的数值解。其调用格式主要有两种。
   **lism(sys,f,t) y=lism(sys,f,t) **
   其中,f是输入信号在向量t定义的时间点上的采样值,t是输入信号时间范围向量,sys是LTI系统模型
    例3****: 已知描述某连续系统的微分方程为
   [图片上传失败...(image-4a9e83-1639285196529)]
   试利用matlab求出该系统当激励信号为[图片上传失败...(image-5ad649-1639285196529)] 时,系统的响应[图片上传失败...(image-348322-1639285196529)] ,并会出其波形。
   matlab程序如下
   a=[1 2 1];
   b=[1 2];
   sys=tf(b,a); %定义系统函数对象
   p=0.01; %定义采样时间间隔
   t=0:p:5;
   f=exp(-2*t);
   lsim(sys,f,t); %对系统输出信号进行仿真
   程序运行后,其图形如图3-3所示。
   [图片上传失败...(image-3950ed-1639285196529)]
   图3-3 连续系统的响应仿真
    4.****微分方程的符号解的函数dsolve() 
   在MATLAB中,dsolve()是求解微分方程的符号解的函数,其调用形式为
   r=dsolve(‘eq1,eq2,…’,’cond1,cond2,…’,’v’)
   或r=dsolve(‘eq1’,eq2’,…,’cond1’,’cond2’,…,’v’)
   其中cond1、cond2….是初始条件(如没有给出初始条件,则默认为求通解),v为自变量变量。D表示一阶微分,D2为二阶微分……。函数dsolve把D后的变量当成因变量,默认为这些变量对自变量的求导。
    例****4****:求二阶系统[图片上传失败...(image-9ca77c-1639285196529)]   在初始条件[图片上传失败...(image-ae497b-1639285196529)]   下的零输入响应的解、零状态响应的解及全解 
   matlab程序如下
   yzi=dsolve('D2y+5 Dy+4 y=0','y(0)=0,Dy(0)=1')
   yzs=dsolve('D2y+5 Dy+4 y=exp(-3*t)','y(0)=0,Dy(0)=0')
   y=dsolve('D2y+5 Dy+4 y=exp(-3*t)','y(0)=0,Dy(0)=1')
   运行结果如下
   yzi =
   -1/3 exp(-4 t)+1/3*exp(-t)
   yzs =
   1/3 exp(-4 t)+1/6 exp(-t)-1/2 exp(-3*t)
   y =
   1/2 exp(-t)-1/2 exp(-3*t)
   即  [图片上传失败...(image-8a13eb-1639285196529)]
   [图片上传失败...(image-9036d5-1639285196529)]
   [图片上传失败...(image-fa7bd7-1639285196529)]
    四、实验内容 
   1.验证实验原理中所述的相关程序
   2.已知描述某连续系统的微分方程为
   [图片上传失败...(image-d41f06-1639285196529)]
   (1) 试利用matlab绘出该系统的冲激响应和阶跃响应的时域波形,并根据冲激响应判断系统的稳定性。
   a=[1,3,2];
   b=[1,2];
   subplot(2,1,1)
   impulse(b,a);
   subplot(2,1,2)
   step(b,a);
   wending
   (2) 当激励信号为[图片上传失败...(image-e16660-1639285196529)] 时,系统的零状态响应[图片上传失败...(image-5beb2d-1639285196529)] ,并绘出响应的波形。
   a=[1,3,2];
   b=[1,2];
   sys=tf(b,a)
   t=0:0.01:5;
   f=exp(-2*t);
   lsim(sys,f,t)
   3.求三阶系统[图片上传失败...(image-a71fa6-1639285196529)] 在初始条件[图片上传失败...(image-40502a-1639285196529)] 下的零输入响应的解、零状态响应的解及全解。
   yzi=dsolve('D2y+5*Dy+y=0','y(0)=0,Dy(0)=1')
   yzs=dsolve('D2y+5 Dy+y=exp(-3 t)','y(0)=0,Dy(0)=0')
   y=dsolve('D2y+5 Dy+y=exp(-3 t)','y(0)=0,Dy(0)=1')
    五、实验报告要求 
   1.实验内容中详细说明用连续系统时域分析法的步骤与原理。
   2.写出其对应的matlab程序。
   3.上机调试程序的方法及实验中的心得体会。

MATLAB实验

4. 数学实验的题目用MATLAB软件做的

x=0:2*pi/100:2*pi;
y1=x.^2;
y2=cos(2*x);
y3=y1.*y2;
plot(x,y1,'-r');
hold on
plot(x,y2,'*b');
hold on
plot(x,y3,'--y');
figure
subplot(3,1,1);
plot(x,y1,'-r');
subplot(3,1,2);
plot(x,y2,'*b');
subplot(3,1,3);
plot(x,y3,'--y');
 
 
8.a=input('please input a core between 100 and 0 :');
b=floor(a/10);
 switch b
case {9,10}
disp('A');
case 8
disp('B');
case 7
disp('C');
case 6
disp('D');
otherwise
disp('E');
end

5. 数学实验的题目用MATLAB软件做的

第7题
x=-1:0.01:1;y1=x.^2;y2=cos(2*x);y3=y1.*y2;figure(1),plot(x,y1,'r-');hold onplot(x,y2,'g--');plot(x,y3,'b-.');hold offfigure(2),subplot(311),plot(x,y1);subplot(312),plot(x,y2);subplot(313),plot(x,y3);
第8题
a=input('输入成绩:');switch floor(a/10)    case {9,10}        b='A';    case 8        b='B';    case 7        b='C';    case 6        b='D';    otherwise        b='E';enddisp(['成绩等级:' b]);

数学实验的题目用MATLAB软件做的

6. 关于用MATLAB软件做数学实验的题目

因题量太多,先帮你解决1。12题。
画图代码,
syms x,m=211;
ezplot(exp(x)-3*m/(m+100)*x^2)
title('e^x-3m/(m+100)x^2=0')

通过观察图形,有三个实数根。可以用fsolve()函数求得x的近似值
求解代码,
fun=@(x)exp(x)-622/311*x.^2;
x1=fsolve(fun,[-0.5])
x2=fsolve(fun,[1])
x3=fsolve(fun,[3])

单调区间:
(-∞,0.3574】单调递增,
【2.1533,+∞)单调递增,
syms x
dfun=diff(exp(x)-622/311*x.^2,1);
dfun=@(x)eval(dfun);
x01=fsolve(dfun,[0.5])  %极小值点
x02=fsolve(dfun,[2])   %极大值点
其他,采纳后可以另行解答。谢谢你谅解。

7. 数学实验 MATLAB

如何用matlab求任意给定一长度的数组中0和1的个数?
这个问题可以通过下列几步来求解:
1,根据题意,创建一个自定义函数,如mfunc(X)
2,使用find()查找函数和length()长度函数,来查找0和1。即
n=length(find(X==0))
m=length(find(X==1))
3、用fprintf()输出函数,输出0和1的个数,即
fprintf('0的个数 %d\n',n);
fprintf('1的个数 %d\n',m)
4、使用窗口命令,求数组中0和1的个数,即
A=[1,0,2,3,0,2,1,0,5,2,0,1,0,0,1,8];
mfunc(A)
5、得到结果

数学实验 MATLAB

8. 数学实验matlab

A增加1公斤

B增加1公斤