我想计算橙色和蓝色线之间的面积。我设法遮蔽了该区域。但是我不知道如何应用该trapz
功能以获取该区域。在这篇文章中:两个曲线之间的表面下面积我得到了一些解决方案,但对于曲线本身,我并没有特定的方程式。
橙色线的代码是:
x_1 = [0,M1_1];
y_1 = [c1,c1];
v = plot(x_1,y_1,'LineWidth',2)
蓝色曲线是长度为(10000x1)-横坐标和(1x10000)-纵坐标的数组的图。
如果我用
%c0_1: Intersection blue curve with y-axis
%c1_1: Intersection orange curve with y-axis
A = trapz(ab1(0:c1_1),ab_y1(c1_1:c0_1))
我收到以下错误:
警告:用作索引的冒号运算符需要整数操作数警告:用作索引的冒号运算符需要整数操作数使用trapz(第58行)时出错LENGTH(X)必须等于2中Y的长度。
如何trapz
轻松地将功能应用到我的问题上?
这是一个答案,尽管我不确定这里和这里的情况之间有什么区别,因此我不确定它是否能真正回答您的问题...
无论如何,您不必y1
显式地了解函数,只需拥有其一系列数据即可。
x = 0:0.1:12; % x data
y1 = 3*exp(-0.5*x); % y data
y2 = 0.5;
lineStart = find(x>=0,1);
lineEnd = find(y1<=y2,1);
f = plot(x,y1,'b',x,ones(1,length(x))*y2,'r','LineWidth',2);
ylim([0 4])
hold on
area(x(lineStart:lineEnd),y1(lineStart:lineEnd), y2,...
'EdgeColor', 'none', 'FaceColor', [0.5 0.5 1],'ShowBaseLine','off')
hold off
A = trapz(x(lineStart:lineEnd),y1(lineStart:lineEnd));
告诉我是解决了问题;)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句