看书无意中看到一个公式,想用matlab绘图实现
如何求变限积分函数,也就是自变量出现在积分的上限?这里的特殊符号我用y代替
-------->用y代替
用到matlab中两个函数
1.int( )函数------>求一重积分
M = int ( fn, x, xmin, xmax ) —— 一重积分
-fn : 为积分式中的 fn(x)函数部分,其中可包含多个变量符号,在定义前需要预先定义变量符号 [ syms x ];
-x : 函数中预先定义的变量符号;
-xmin, xmax : 符号变量的取值范围 [xmin, xmax].
-M : 得到积分结果矩阵
M = int( int ( fn, x, xmin, xmax ) ), y, ymin, ymax) —— 二重积分
-fn : 为积分式中的 fn(x,y)函数部分,其中可包含多个变量符号,在定义前需要预先定义变量符号 [ syms x,y ];
-x , y : 函数中预先定义的变量符号;
-xmin, xmax, ymin, ymax : 符号变量的取值范围 [xmin, xmax], [ymin, ymax].
-M : 得到积分结果矩阵
......
在计算得到结果矩阵后,可以利用 vpa(Matrix, number) 将符号数据转化成小数型的符号数据。
-Matrix : 结果矩阵
-number : 限定小数的有效部分
2.ezmesh( )函数------->绘制三维曲面网格图
格式:ezmesh(f(x,y),[xmin,xmax,ymin,ymax])
3.但是在本题中需要注意,有两个变化的量,一个是t,另外一个是y
在命令行输入:
注意int公式是如何构建的
syms t y
ezmesh(int(exp(-y*t),t,0,t),[0,1,0,10])
如果你想计算表中具体的值,我目前没有想太好的方法,估计要用到循环,先令y=10,算出当t为【0,0.2】时的值。
可以发现表中的数据实际上精确了小数点后4位。
还有一种办法不用算,可以利用数据游标定位。