为什么使用matlab?
- 有强大的函数库,数学计算非常方便
- 图形化较为优雅
如何学习使用matlab
结合自带的手册和Google。手册中有例子和详细的说明。Google能帮你找到最合适的函数。以下将记录常用的方法。
March 29, 2017
多重积分
主要使用int
函数。可以计算不定积分和定积分。注意:int
的结果可能会分段给出(如没有原函数),因此计算多重积分嵌套int
时,要检测被嵌套的积分的分段变量是否是下一重积分的积分变量
例子:
syms t11 t12 t21 t22;
f0 = 1/((t21-t11)*(t22-t12))^11;
f1 = int(f0,t11,theta1(1,1),theta1(2,1));
f2 = int(f1,t21,theta2(1,1),theta2(2,1)); %f1的积分结果按照t21的取值范围分段,因此下一步先对t21积分
f3 = int(f2,t12,theta1(1,2),theta1(2,2));
f4 = int(f3,t22,theta2(1,2),theta2(2,2));
p = vpa(f4,50);
画三维曲面
meshgrid+surf. meshgrid生成数据矩阵,surf画图。也可不用meshgrid,两种方法的例子如下:
% meshgrid+surf
x = 0:0.5:12;
y = 0:0.5:12;
[X Y] = meshgrid(x,y); % X,Y 为矩阵,长什么样可以打出来看看
F = 1./(X.*Y).^i; % 第三维度的矩阵
surf(X,Y,F),xlabel('x1'),ylabel('x2'),pause
% 自己创建数据矩阵,画图
x = -6:1:6;
y = -6:1:6;
z = zeros(length(x),length(y));
for i=1:length(x)
for j=1:length(y)
z(i,j) = pxD([x(i) y(j)], theta1, theta2);
end
end
surf(x,y,z'),xlabel('x'),ylabel('y') %传入的是向量x、y,以及数据矩阵z的转置
注意第二种方法中,为保证坐标一致,需对数据矩阵转置