您的位置:首页 > 编程语言 > MATLAB

杭电Matlab与仿真-MATLAB基本语法(九)-函数的数值积分与微分

2020-07-23 15:12 337 查看

函数的数值积分与微分

实验目的

  1. 掌握函数的数值积分;
  2. 掌握函数的数值微分;
  3. 能够运用函数的积分与微分解决实际问题。

实验内容与要求

  1. 掌握梯形法、Simpson法等函数积分的方法;
  2. 掌握函数的符号积分;
  3. 掌握函数的二重积分方法;
  4. 掌握用差分函数diff()和用polyder()函数微分的方法;
  5. 掌握一般区域二重积分的方法。

实验程序与结果

  1. P123.3
clear;
clc;
x=[1.0,1.1,1.2,1.3,1.4];
y=[0.25,0.2268,0.2066,0.1890,0.1736];
p=polyfit(x,y,3);
pd=polyder(p);
a=polyval(pd,1)
b=polyval(pd,1.2)
  1. P123.10
clear;
clc;
syms x y
f=@(x,y)4*(x-y)-x.^2-y.^2;
fx=diff(f,x);
fy=diff(f,y);
a=solve(fx);
b=solve(fy);
A=diff(fx,x);
C=diff(fy,y);
B=diff(fx,y);
if((A*C-B^2)>0)
if(A<0)
sprintf('f(x,y)存在极大值')
elseif(A>0) sprintf('f(x,y)存在极小值')
end
end
f(a,b)
  1. P123.11
clear;
clc
syms x y;
f=sin(y)+exp(x)-x.*y.^2;
fx=diff(f,x);
fy=diff(f,y);
dydx=-fy/fx
  1. P123.12
clear;
clc;
dblquad(@(x,y)(x-y).^2.*(sin(x+y)).^2,pi,2*pi,0,pi)
  1. P123.13
clear;
clc;
syms x y;
a=int(int(12*y.^2,y,0,x),x,0,1);
EX=int(int(12*y.^2*x,y,0,x),x,0,1)
EY=int(int(12*y.^2*y,y,0,x),x,0,1)
EXY=int(int(12*y.^2*x*y,y,0,x),x,0,1)
  1. 验证角谷猜想问题。一个正整数n,如果是偶数除以2,如果是奇数乘以3加1,得到的新数继续按上述规则运算,最后结果都为1。验证1~100000以内的正整数。
clear;
clc
p=0;
for i=1:100000
a=i;
while(a>0)
if(a==1)
p=p+1;
break
elseif rem(a,2)==0
a=a/2;
elseif rem(a,2)==1
a=a*3+1;
end
end
end
if(p==100000)
sprintf('验证成功')
else sprintf('验证失败')
end
  1. 求下列二重积分
clear;
clc;
syms x y
f1=quadl(@(y)2.*y.*exp(-y.^2).*arrayfun(@(y)quadl(@(x)exp(-x.^2)./(y.^2+x.^2),-1,1),y).^2,0.2,1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: