matlab复化求积动画演示代码及自学笔记
下面在matlab中以y=exp(x)为例,利用复化求积思想求积分
首先建立函数文件,
function y=f(x); %建立函数文件加function,注意保存时不可以更改函数名
y=exp(x); %建立需要的函数即可
新建脚本文件,
a=input('输入积分上限a='); %input是matlab中的用户输入函数,记得写返回值
b=input('输入积分下限b=');
n=input('输入积分区间等分组n=');
m=length(n); %length函数用来计算矩阵n的长度
shg %shg表示令图片显示在指令窗前面
x=a:0.01:b; %以0.01步长划分[a,b]区间
y=f(x);
plot(x,y,'b') %用蓝色的线画出函数图像
for i=1:m
hold on, %注意使用hold on 命令的位置,因为需要画m*n次,所以hold on 命令要写在循环内部
s(i)=0,
h=(b-a)/n(i) %划分[a,b]区间
for j=1:n(i)
u(i)=a+(j-1)*h, %因为a是第一个点,所以j=j-1
v(j)=f(u(j)),
u(j+1)=a+j*h,
s(i)=s(i)+v(j)*h,
X=[u(j) u(j+1) u(j+1) u(j)]
Y=[0 0 v(j) v(j)]
fill(X,Y,'y') %使用full函数将矩形的四个顶点连接,形成闭合图形
end
pause(1), %在每次画完矩阵n的一列后,停顿1秒,方便观察
hold off, %结束画图
end
就可以看到复化求积的过程啦!
总结:1.看到问题先把大致的框架构造出来
2.构造框架后,用编辑器慢慢调整(可能会错很多次,但没关系成功带来的成就感爆棚!!)
3.问题解决后可以细化下细节,比如说这类的shg函数可以让图片显示在指令传前面,这种小小的细节很贴心
4.加油!