matlab编写程序求三角形面积_matlab求一元二次方程的解

matlab编写程序求三角形面积_matlab求一元二次方程的解问题描述:matlab中计算三角形面积?在X,Y矩阵中存有一组点的x,y坐标:X=[572874369],Y=[459365328]矩阵B中保存了每三个点构成的一个三角形,B=[615716763653178593284218529512249]如何编写函数让我用B里面的点号读取A里面的坐标,然后利用海伦公式求三角形的面…

matlab编写程序求三角形面积_matlab求一元二次方程的解

问题描述:

matlab中计算三角形面积?

在X,Y矩阵中存有一组点的x,y坐标:

X=[5 7 2 8 7 4 3 6 9] ,Y=[4 5 9 3 6 5 3 2 8]

矩阵B中保存了每三个点构成的一个三角形,

B=[6 1 5

7 1 6

7 6 3

6 5 3

1 7 8

5 9 3

2 8 4

2 1 8

5 2 9

5 1 2

2 4 9]

如何编写函数让我用B里面的点号读取A里面的坐标,然后利用海伦公式求三角形的面积?

我的代码目前写成这样:

for i=1:size(B,1)

j=B(i,1); k=B(i,2); l=B(i,3);

zb1x=X(j);zb1y=Y(j); zb2x=X(k);zb2y=Y(k); zb3x=X(l);zb3y=Y(l);

bc1=sqrt((X(j)-X(k))*(X(j)-X(k))+(Y(j)-Y(k))*(Y(j)-Y(k)));

bc2=sqrt((X(j)-X(l))*(X(j)-X(l))+(Y(j)-Y(l))*(Y(j)-Y(l)));

bc3=sqrt((X(l)-X(k))*(X(l)-X(k))+(Y(l)-Y(k))*(Y(l)-Y(k)));

p=(bc1+bc2+bc3)/2;

s=sqrt(p*(p-bc1)*(p-bc2)*(p-bc3));

end

结果只能输出一个三角形的面积.初学matlab献丑了.请各位大神帮我看看需要改进的地方,感激不尽~

1个回答

分类:

综合

2014-10-04

问题解答:

我来补答

改成 s(i)=sqrt(p*(p-bc1)*(p-bc2)*(p-bc3)); 让矩阵存储结果

再问: 改了一下s的维数就对了,我的计算方法还有错吗?麻烦你帮我看一下。。谢谢!

再答: 海伦公式 如果你是参照这个算法写的。。。应该不会有错误。。。

展开全文阅读

今天的文章matlab编写程序求三角形面积_matlab求一元二次方程的解分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58517.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注