请问怎样在matlab上实现高等数学的常见运算-欧洲杯买球app

请问怎样在matlab上实现高等数学的常见运算

m.anhuilife.com    2024-07-30
1、验证矩阵运算

我们都做过矩阵的运算,大概都会有一种感受,就是繁杂。对于多行多列的矩阵运算,更是容易出错。如何来检验学习效果呢,这就需要验证结果。参考书的答案难免出现错误,而且如果是实际问题的话,又哪来的参考答案呢?还有一种方法,那就是自己编程解决。可是实在太麻烦了。例如说在考虑两个矩阵 a 和 b 的乘积问题时,在 c 语言中实现就并不仅仅是一组双重循环的问题。双重循环当然是矩阵乘积所必需的,除此之外要考虑的问题很多:a 和 b 有一个是复数矩阵怎么考虑;其中一个是复数矩阵时怎么考虑;全部是实系数矩阵时又怎么管理;这样就要在一个程序中有4个分支,分别考虑这 4 种情况。然后还得判断这两个矩阵是否可乘。所以说,没有一定时间,用 c 语言不可能编写出考虑各种情况的子程序。然而有了 matlab 这样的工具,问题就变得非常简单了。我们只需打开matlab,在命令窗口执行简单的操作便能完成运算。

例如:计算a*b,其中a= 1 2 3 b= 3 4 5

7 8 9 6 7 8

5 4 3 8 9 4

在matlab的命令窗口中键入

>> a=[1 2 3;7 8 9;5 4 3];

>> b=[3 4 5;6 7 8;8 9 4];

>> a.*b

ans =

3 8 15

42 56 72

40 36 12

其中“a=[1 2 3;7 8 9;5 4 3]; b=[3 4 5;6 7 8;8 9 4];”为负值语句,矩阵内的行用“;”隔开。a.*b代表a*b。

这个例子很简单,但足以说明要表达的意思。matlab可以完成你所需要的任何矩阵运算,还包括一些常用的变换。以后再遇见多行多列的复杂矩阵运算时,我们就可以不用劳神了,有了matlab一切轻松解决。

2、科学运算

常见的正弦,余弦,正切,与切等计算,一般的编程语言就能实现,甚至复杂一点的计算器也可以解决。但是他们能做求导,积分运算吗?我想是很困难的。而matlab利用其符号运算工具箱可以对该函数进行解析推导,得出诸如高阶导数、积分、taylor 幂级数展开等。利用diff(),simple(),taylor()等函数,推导的结果可以直接得到。在一些题目中,我们首先要确定解题方向,然后再具体解决。可以利用matlab对我们的思考方向作一些推测,看是否符合题目要求。这样,可以节省我们的大量计算时间,对正确把握题目要求,确定做题方向有很好的帮助。

例如在计算某函数的极值时,可以利用求导来解决。可是存在的函数本身很复杂,求导起来非常麻烦。利用matlab的解析推导,问题迎刃而解。下面的例子说明了在matlab中求导过程的简单。

例:

求导

>> syms x;

>> f=x.^3*sin(x);

>> diff(f)

ans =

3*x^2*sin(x) x^3*cos(x)

“syms x”定义了一个变量x ,diff()是求导函数。具体用法可以在帮助中获取。

求二阶导数

>> syms x;

>> f=x.^3*sin(x);

>> diff(f,x,2)

ans =

6*x*sin(x) 6*x^2*cos(x)-x^3*sin(x)

3、画图

在高等数学的学习中,我们常常面临一些 有关图形的问题。有些需要我们画出准确的图形,再对其仔细分析;有些图形本身是由表达式给出的,常常超出我们的想象,根本不知其所型;还有一些可以想象出来,却因绘图能力不及难以描绘。这些难处都影响了我们的正常学习。

用 c 这类语言,绘制图形也是一个难点。但使用 matlab 这类高级语言,完成这样的工作就是几个直观语句的事。且得出的图形美观准确、可以将语句毫不变化地移植到另外的机器上,得出完全一致的结果,如下所示。

例:做出 的图

在matlab中键入:

>> x=-2:0.01:2;

>> y=x.^3-x.^2-x 1;

>> plot(x,y)

得到如下结果:

较复杂的例子来自matlab的3-d demo。

〉〉z=peaks(25);

〉〉mesh(z);

非常简单,仅仅几个命令就直观的显示出来了。(注意大小写,matlab对大小写是敏感的)

可以看到matlab在画图方面,功能是非常强大的。不仅平面图可以画,立体图也可以画。还可以依据你的要求画出点状分布、直方图等。你能想到的,它基本上都能满足你了。只要你需要这样的一个直观表现,matlab可以轻而易举的帮你实现。

讲了这么多,一直都是泛泛而谈。一方面是matlab的功能实在太强大,难以一一详尽,再者我也不愿将这篇短文变成matlab的纸版帮助。(详尽的使用说明在matlab里都可以找到)我只是将我使用matlab的一些体会写在这里。
matlab是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。它正成为对数值线性代数以及其他一些高等应用数学课程进行辅助教学的有益工具。尽快的认识和利用matlab,在数学学习方面有所帮助。

高等数学常见运算中多项式的求值polyval(),多项式乘除法即卷积与解卷积conv()和deconv,导数polyder()微分polyint(),求根roots()分式展开residue及曲线拟合polyfit等等都可以用matlab上实现。具体操作可以找本书看看,或者在matlab上使用help命令查看每个函数的用法。
比如help polyint回车就可以看到相应的用法~

找本书看看,matlab是大学和数学有联系专业必修的,一般的书都有最基本的介绍。
这是我老师推荐的 matlab使用详解-基础、开发及工程应用,董霖编著,电子工业出版社,2009
希望对你有用


答:如 matrix(m,n)。也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在matlab中,矩阵元素按列存储。序号(index)与下标(subscript )是一一对应的,以m*n矩阵a为例,矩阵元素a(i,j)的序号为(j-1)*m i。其相互转换关系也可利用sub2ind和ind2sub函数求得。


答:竖线的最高点表示此时的最高频率。在matlab里,有一个信号,先选信号的一小部分,再在这一小部分的时间里求出信号的最高频率和最低频率。最后在二维图形(时间-频率)上画一条竖线,竖线的最高点表示此时的最高频率,最低点表示此时的最小频率,此小部分的信号能量用颜色来区分(不知道我这样的描述...


答:事实上matlab的计算精度远不止你说的15位,只是结果一般以精简的形式表示。要提高结果得显示精度,有两个方法:用vpa函数,这个函数并不是简单地提高运算结果得显示精度,而是在整个计算过程中以你要求的精度进行计算。如以40位浮点数运算:>>1-vpa(1.234e-25,40)ans =实际精确结果不到40位小数,故...


答:能。采用matlab语言编程实现了高阶系统时域的稳定性、快速性、准确性分析。用户只需键入传递函数即可获得所需各种特性曲线和时域性能指标。


答:需要先转换为符号量,求导之后再转换为传递函数。参考代码:gs=poly2sym(g.num{1},'s')/poly2sym(g.den{1},'s');d5gs=diff(gs,5);[num,den]=numden(d5gs);tf(sym2poly(num),sym2poly(den))


答:2、方程中0.2x^2项缺乘号;3、关于x的二次方程有两个根,需要选择其中一个才能进行迭代。matlab中,如何用二分法求解高次方程,程序模式如何?谢谢bisection(二分法)inputendpointsa,b;tolerancetl;maximumnumberofiterationsn0;outputapproximatesolutionpormessageoffailure.step1:seti=1;fa=f(a);step2:...


答:如果n是一个标量,那么解释为等值线的条数例如 contour(u,v,z,20)那么它会根据数据的范围画出20条等值线 如果n是一个向量,那么解释为需要等值线的值,例如 contour(u,v,z,[1 2 3 4])会画出z=1,2,3,4四个值的等值线 如果我们要只要画指定的某个值的等值线,我们就用两个相同的数组成...


答:clear all r=1;%圆柱半径n=100;%设置多少个边逼近圆h=5;%圆柱高[x,y,z]=cylinder(r,n);%生成标准的100个面的圆柱数据,半径为r,高为1,底面圆心0,0;z1=[z(1,:);z(2,:) h-1];%圆柱高增高,变为高h 为变成实心封顶添加数据z2=[z(1,:);z1;z1(2,:)];x2=[zeros(1,...


答:比如y=cos(x)x由rand()产生的均匀分布那y就是|p(y)dy=|p(x)dx|这样就可以产生y的分布,按照这样倒回去就好了。。


答:clear all;clc;x=-3:0.01:3;y=x.^2;plot(x,y);grid on;axis([-3,3,0,9])如果要求不高,可以按上述代码操作

17265006312&&如何在matlab中建立向量和矩阵 - 》》》 1、向量的创建 1)直接输入: 行向量:a=[1,2,3,4,5] 列向量:a=[1;2;3;4;5] 2)用“:”生成向量 a=j:k 生成的行向量是a=[j,j 1,…,k] a=j:d:k 生成行向量a=[j,j d,…,j m*d],m=fix((k-j)/d) 3)函数linspace 用来生成数据按等差形式排列的行...

17265006312&&用matlab如何实现 - 》》》 非常不清晰和混乱的提问!首先a[x,y,z]如果是一个一行3列的矩阵,a(n)又是什么东东? 如果a(n)只是表示第n次运算.另外p,p,m,k,k是调参,你总该告诉我们每一个参量的维度吧;k=k k(y(n 1)-a(n 1)*k);...

17265006312&&如何用matlab实现多项式拟合 - 》》》 1 先看一个具体的例子,通过构造一系列离散的二维点集,然后用不同阶次的多项式来拟合,比较哪个效果更好.最后说明多项式拟合在matlab中的用法. 2 首先启动matlab,选择编辑器,再新建一个命令文件. 3 然后,在编辑器窗口中输入本...

17265006312&&如何用matlab编程实现一组数据的曲线拟合 - 》》》 x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];p=fittype('a*x.^0.5 b*lnx c','independent','x')f=fit(x,y,p)plot(f,x,y);上面是代码!下面是结果:a=2.818b=0.8552c=-0.6627

17265006312&&如何用matlab实现傅里叶变换 - 》》》 用matlab 实现傅里叶变换: 用户任意输入一个函数,然后,输出函数的傅里叶变换函数,然后输出振幅频率 . x=sin(2*pi*t); %任意输入一个函数. y=fft(x); %傅里叶变换函数. plot(abs(y)); %振幅频率. 函数(function)表示每个输入...

17265006312&&如何用matlab实现图像识别? - 》》》 这是一个比较大的话题,但用一句话说就是找到图像的特征进行比较匹配识别.其流程一般为: 1) 对图像进行预处理,如滤波等,目的是使图像特征突出和便于以后处理. 2) 提取要识别的图像 3) 提取图像特征,包括频域特征、形态特征等等. 4) 根据特征进行分类识别(根据特征库) 在此之前还需要对样本图片进行训练,获得特征库,用于第四步的识别.

17265006312&&如何在matlab上生成可执行程序 - 》》》 在控制行界面,输入edit然后回车

17265006312&&matlab中如何实现输出一个函数表达式我要写一个function,通过输入参数得到一个函数表达式的系数,然后输出这个函数表达式.我不知道再matlab中... - 》》》[答案] 1、很简单啊.2、比如我们输出一个函数f=a*sin(x)-b*exp(c*x)这种表达式,a,b,c是你输入的任何参数.(1)你写上如下代码的m文件function f=dispf(a,b,c)syms x;f=a*sin(x)-b*exp(c*x);end(2)现在你直接在命令窗口输入命...

17265006312&&如何将算法在matlab上面实现 - 》》》 matlab就是一门高级编程语言,算法实现你会在其它语言上实现matlab自然也可以

17265006312&&如何用matlab实现二维插值 - 》》》 先看一个实例,构造一个三维空间点集,并用二维插值绘出.最后再来说明二维插值在matlab中的用法.首先启动matlab,选择编辑器,再新建一个命令文件.然后,在编辑器窗口中输入本题的代码.如下图所示.并保存,此处命名为erwei.需要注意的是,保存文件的位置要与当前搜索路径的位置保持一致.这可以通过右键编辑窗口的文件,在弹出的下拉框中选择.5 最后再命令行窗口处输入erwei,并敲入键盘上的enter建.

网站地图