MatLab-LaTeX联动学习记录

LaTeX代码中横线、矢量、分式、指数、偏导、微分、极限、积分、求和

代码 效果
\over{x} x \over{x}
\vec{A} A \vec{A}
\frac{x}{y} x y \frac{x}{y}
e^{-\alpha t} e α t e^{-\alpha t}
\partial \partial
\mathrm{d}t d t \mathrm{d}t
\lim\limits_{{x \to \infty\ y\to\infty}} lim x y \lim\limits_{{x \to \infty\\ y\to\infty}}
\int_{-X}^{Y} \exp(z), dz X Y exp ( z ) d z \int_{-X}^{Y} \exp(z)\, dz
\sum_{n=1}^{\infty} n = 1 \sum_{n=1}^{\infty}

1 、编写一个矩阵相加函数mat_add() ,使其具体的调用格式为A=mat_add(A1 ,A2 ,A3 ,…) , 要求该函数能接受任意多个矩阵进行加法运算。(注:varargin 变量的应用)

function A=mat_add(varargin)
x=size(varargin{1})
A=zeros(x)
for i=1:length(varargin),A+=varargin{i};end

报错:
索引超出矩阵维数
出错mat_add(line 2)
x=size(varargin{1})

出现了超出维度的问题,主要是因为我对格式不太懂,函数中varargin赋值之前提取了varargin{1}的对象,增加了维度。
这里使用最简单的办法

function A=mat_add(varargin)
A=0;
for i=1:length(varargin),A=A+varargin{i};
end

搞定~!

2、请绘制出sin(xy)在[-π,π]上的三维图和等高线

>>[x,y]=meshgrid(-pi:.1:pi);#做网格
>>>z=sin(x.*y);
>>>surf(x,y,z)#做表面
>>>figure
>>contour(x,y,z,30)

三维图
在这里插入图片描述
P.S 出场自带赋值函数的变量不用声明(MatLab)

3、试求出如下极限 lim x y 1 c o s ( x 2 + y 2 ) ( x 2 + y 2 ) e x 2 + y 2 \lim\limits_{{x \to \infty\\ y\to\infty}}{\frac{1-cos(x^2+y^2)}{(x^2+y^2)e^{x^2+y^2}}}

>>syms x y;
>>f=(1-cos(x^2+y^2))/((x^2+y^2)*exp(x^2+y^2));
>>>L=limit(limit(f,x,0),y,0)

P.S.
limit(函数,求极限的参量,趋近的值)P.S.可以逐个参量求极限

>>L=0

4、 试求出下面函数的导数 a r c t a n y x = l n ( x 2 + y 2 ) arctan\frac{y}{x}=ln(x^2+y^2)

>>syms x y;
>>f=-atan(y/x)+log(x^2+y^2);
>>F=-diff(f,x)/diff(f,y);
>>simplify(F)

P.S.
atan()为反正切函数
log10()为对10求对数(默认就是10,即ln函数)

ans=(2*x+y)/(x-2*y)

5、假设 f ( x , y ) = 0 x y exp ( z ) , d z f(x,y)=\int_{0}^{xy} \exp(z), dz ,试求 x y 2 f x 2 2 2 f x y + 2 f y 2 \frac{x}{y}\frac{\partial^2f}{\partial x^2}-2\frac{\partial^2f}{\partial x \partial y}+\frac{\partial^2f}{\partial y^2}

>>syms t x y;
>>f=exp(-t^2);
>>I=int(f,t,0,x*y);
>>dfx2=diff(I,x,2);
>>dfxy=diff(diff(I,x),y);
>>dfy2=diff(I,y,2);
>>fun=(x/y)*dfx2-2*dfxy-2*dfxy+dfy2;
>>sim_fun=simplify(fun)

P.S.
int(函数,积分参量,积分下限,积分上限)
diff(函数,偏导参量,阶数)

sim_fun =
 
-2*exp(-x^2*y^2)*(x^3*y - 3*x^2*y^2 + 2)

6*、假设 f ( x ) = e 5 x s i n ( 3 x + π / 3 ) f(x)=e^{-5x}sin(3x+\pi/3) ,试求出积分函数 R ( t ) = 0 t f ( x ) f ( t + x ) d x R(t)=\int_{0}^{t}f(x)f(t+x)dx

>>syms x t;
>>f=exp(-5*x)*sin(3*x+pi/3);
>>fix=subs(f,x,t+x);
>>I=int(f*ftx,x,0,t);
>>sim_I=simplify(I);

P.S.
subs(目标函数,被替换量,替换量)

6、试求出下面函数的Taylor幂级数展开。 e 5 x s i n ( 3 x + π / 3 ) e^{-5x}sin(3x+\pi/3) 分别关于 x = 0 , x = a x=0,x=a 的幂级数展开

>>syms x;
>>f=exp(-5*x)*sin(3*x+pi/3);
>>y1=taylor(f,x)
>>syms a;
>>y2=taylor(f,x,a)

P.S.
taylor(原函数,自变量,展开目标点)

y1 =
 
((305*3^(1/2))/12 + 239/20)*x^5 + (- (161*3^(1/2))/12 - 20)*x^4 + ((5*3^(1/2))/6 + 33/2)*x^3 + (4*3^(1/2) - 15/2)*x^2 + (3/2 - (5*3^(1/2))/2)*x + 3^(1/2)/2
 
y2 =
 
sin(3*a + pi/3)*exp(-5*a) - (a - x)^3*(33*cos(3*a + pi/3)*exp(-5*a) + (5*sin(3*a + pi/3)*exp(-5*a))/3) - (a - x)^4*(40*cos(3*a + pi/3)*exp(-5*a) + (161*sin(3*a + pi/3)*exp(-5*a))/6) - (a - x)^5*((239*cos(3*a + pi/3)*exp(-5*a))/10 + (305*sin(3*a + pi/3)*exp(-5*a))/6) - (a - x)^2*(15*cos(3*a + pi/3)*exp(-5*a) - 8*sin(3*a + pi/3)*exp(-5*a)) - (a - x)*(3*cos(3*a + pi/3)*exp(-5*a) - 5*sin(3*a + pi/3)*exp(-5*a))

7、试求出下面的极限。 lim n n ( 1 n 2 + π + 1 n 2 + 2 π + 1 n 2 + 3 π + . . . + 1 n 2 + n π ) \lim\limits_{{n \to \infty}}n(\frac{1}{n^2+\pi}+\frac{1}{n^2+2\pi}+\frac{1}{n^2+3\pi}+...+\frac{1}{n^2+n\pi})

>>syms m n
>>L=limit(n*symsum(1/(n^2+m*pi),m,1,n),n,inf)

P.S.
求和命令symsum(通项表达式,求和变量,求和起点,球和终点)

L=1

8、试对下面数值描述的函数求取各阶(<5)数值微分,并用梯形法求取定积分。

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2
0 2.208 3.206 3.444 3.241 2.816 2.311 1.81 1.36 0.982 0.679 0.447 0.277
function [dy,dx] = diff_ctr(y,Dt,n)
yx1=[y 0 0 0 0 0];yx2=[0 y 0 0 0 0];yx3=[0 0 y 0 0 0];
yx4=[0 0 0 y 0 0];yx5=[0 0 0 0 y 0];yx6=[0 0 0 0 0 y];
switch n
      case 1           
      	dy = (-diff(yx1)+7*diff(yx2)+7*diff(yx3)-diff(yx4))/(12*Dt);L0=3;      
      case 2          
      	dy=(-diff(yx1)+15*diff(yx2)-15*diff(yx3)+diff(yx4))/(12*Dt^2);L0=3;
      case 3 
      	dy=(-diff(yx1)+7*diff(yx2)-6*diff(yx3)-6*diff(yx4)+7*diff(yx5)-diff(yx6))/(8*Dt^3);L0=5; 
      case 4 
      	dy=(-diff(yx1)+11*diff(yx2)-28*diff(yx3)+28*diff(yx4)-11*diff(yx5)+diff(yx6))/(6*Dt^4);L0=5; 
      end 
dy=dy(L0+1:end-L0); dx=([1:length(dy)]+L0-2-(n>2))*Dt;

P.S.
L0是确保左右有足够多的项来提供计算
MATLAB中向量是串位相加
如x=[0 y 0],y=[1,2,3]
有ans= [0 1 2 3 0]

>>x=[0:.1:1.2];
>>y=[0	2.208	3.206	3.444	3.241	2.816	2.311	1.81	1.36	0.982	0.679	0.447	0.277];
>>[dy1,dx1]=diff_ctr(y,x(2)-x(1),1)
>>[dy2,dx2]=diff_ctr(y,x(2)-x(1),2)
>>[dy3,dx3]=diff_ctr(y,x(2)-x(1),3)
>>[dy4,dx4]=diff_ctr(y,x(2)-x(1),4)

P.S.
这里要注意function在命名的时候一定要和函数名相同才能再下面直接调用,否则会报错

得到各阶导数

dy1 =

    5.5392   -0.2733   -3.4408   -4.8383   -5.1392   -4.8117   -4.1600   -3.4042   -2.6642   -1.8617   -2.4142


dx1 =

    0.2000    0.3000    0.4000    0.5000    0.6000    0.7000    0.8000    0.9000    1.0000    1.1000    1.2000


dy2 =

  -74.9083  -43.2667  -21.5583   -7.5167    0.7083    5.3167    7.3500    7.5583    7.1417    7.5333  -15.3083


dx2 =

    0.2000    0.3000    0.4000    0.5000    0.6000    0.7000    0.8000    0.9000    1.0000    1.1000    1.2000


dy3 =

  262.2500  175.2500  108.0000   61.5000   31.6250    9.6250   -2.1250


dx3 =

    0.3000    0.4000    0.5000    0.6000    0.7000    0.8000    0.9000


dy4 =

 -986.6667 -763.3333 -583.3333 -353.3333 -255.0000 -185.0000  -55.0000


dx4 =

    0.3000    0.4000    0.5000    0.6000    0.7000    0.8000    0.9000

得到梯形定积分

>>xd=[0:0.1:1.2];
>>yd=[0	2.208	3.206	3.444	3.241	2.816	2.311	1.81	1.36	0.982	0.679	0.447	0.277];
>>S=trapz(xd,yx)
S =

    2.2642

9、计算被积函数 在[0,1)区间上的积分。

>>f=@(x)exp(x).*log(x);
>>Int_f=integral(f,0,1)

P.S.
integral(句柄,下限,上限)
求出来的是数值积分(数值解)
@ ( x ) f ( x ) @(x)f(x) 是以x为自变量的 f ( x ) f(x) 函数

Int_f =

   -1.3179

10、.求函数 在区域0≤x≤π、0≤y≤1和-1≤z≤1的积分。

>>syms x y z;
>>Int_f=int(int(int(y*sin(x)+z*cos(x),x,0,pi),y,0,1),z,-1,1)
Int_f =
 
   2
发布了3 篇原创文章 · 获赞 0 · 访问量 34

猜你喜欢

转载自blog.csdn.net/weixin_45686780/article/details/105171330
今日推荐