matlab画出给定点,已知各点之间的距离,怎么用MATLAB画出点

共回答了16个问题采纳率:75%

一共有9个点

设第一个点p1为(0,0) 第二点p2则为(40,0)

这样子来计算其它点的位置

譬如第三点p3距离p1为60,p3距离p2为65

那么可以解两个圆方程,求得圆的交点便为p3

第一个圆方程 x^2+y^2=60^2

第二个圆方程 (x-40)^2+y^2=65^2

matlab表达式

solve('x^2+y^2=60^2','(x-40)^2+y^2=65^2')

算出来有两组值

x =

[ 195/16]

[ 195/16]

y =

[ 15/16*3927^(1/2)]

[ -15/16*3927^(1/2)]

随便取一组就可以了

这样就算出p3

p4也是同样的方法来算,通过p1,p2来解

注意,p4算出来后需要验算,p4到p3的距离必须满足题设

依次类推,后面每一个点pn都用p1,p2来算,并用p3到pn-1来进行验算

我私以为大多数情况下,一组邻接矩阵都是无解的

其实点之间的距离不一定是直线,可以是折线,曲线

所以点的位置可以随便摆放,路经上表示出距离就可以了

请参考这里

http://blog.sina.com.cn/s/blog_4a540be60100ezu6.html

1年前

8

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 拉格朗日线性插值是一种用于估计函数在给定值之间的值的方法。它基于拉格朗日插值多项式的思想,通过连接相邻数据来构造一个线性函数,然后使用该函数进行插值计算。 首先,我们要给出一组已知的数据,即ln函数在某些特定点上的值。然后,我们可以使用拉格朗日线性插值公式来计算函数在给定值之间的估计值。 具体步骤如下: 1. 选择合适的数据,在这里我们可以选择离要插值最近的两个数据,一个在插值的左侧,一个在插值的右侧。 2. 使用拉格朗日插值公式计算插值函数。对于线性插值,公式为: f(x) ≈ (x - x0) * f1 + (x1 - x) * f0 / (x1 - x0) 其中,x0和x1是已知的横坐标,f0和f1是对应的函数值。 3. 使用插值函数计算ln函数在给定值之间的估计值。 二次插值是拉格朗日插值方法的一种改进。它通过使用两个相邻和其中一个附近的第三个来构造一个二次多项式进行插值计算。 具体步骤如下: 1. 选择合适的数据。对于二次插值,我们需要选择三个相邻的数据。 2. 构造二次插值多项式。对于给定的三个数据(x0, f0),(x1, f1)和(x2, f2),我们可以使用拉格朗日插值公式计算插值多项式。 f(x) ≈ (x - x1) * (x - x2) * f0 / ((x0 - x1) * (x0 - x2)) + (x - x0) * (x - x2) * f1 / ((x1 - x0) * (x1 - x2)) + (x - x0) * (x - x1) * f2 / ((x2 - x0) * (x2 - x1)) 3. 使用二次插值多项式计算ln函数在给定值之间的估计值。 以上就是使用拉格朗日线性插值和二次插值进行ln函数的数值表计算的方法。在MATLAB中,我们可以通过编写相应的代码来实现这些插值方法,并计算给定点的函数值。 ### 回答2: 拉格朗日线性插值和二次插值是计算ln函数数值表的常用方法。在MATLAB中,我们可以使用polyfit函数来进行拉格朗日插值,polyval函数来进行二次插值计算。 首先,我们需要选取一组横坐标x的值作为插值。在这里,我们选取0到1之间的一些离散均匀分布的作为插值。可以通过linspace函数来生成这些,如下所示: ```matlab x = linspace(0, 1, n); % n为插值个数 ``` 然后,我们可以通过ln函数计算这些插值的函数值,作为对应的纵坐标y的值。在MATLAB中,可以使用log函数来计算自然对数的值,如下所示: ```matlab y = log(x); ``` 接下来,我们可以使用polyfit函数来进行拉格朗日插值,生成拉格朗日插值多项式的系数。这里我们选择一次插值,所以插值多项式的阶数为1。具体代码如下所示: ```matlab p = polyfit(x, y, 1); ``` 然后,我们可以使用polyval函数来计算插值对应的近似ln函数的值。具体代码如下所示: ```matlab approx_ln = polyval(p, x); ``` 除了拉格朗日线性插值,我们还可以使用polyfit函数来进行二次插值。这里我们选择二次插值,所以插值多项式的阶数为2。具体代码如下所示: ```matlab q = polyfit(x, y, 2); ``` 然后,我们可以使用polyval函数来计算插值对应的近似ln函数的值。具体代码如下所示: ```matlab approx_ln_quadratic = polyval(q, x); ``` 最后,可以通过比较近似值和真实值(ln函数的值)的差异来评估拉格朗日线性插值和二次插值的准确性。 ### 回答3: 拉格朗日线性插值和二次插值是常见的插值方法,可以用来计算ln函数在给定数据上的近似值。 首先,我们需要选择一些数据来进行插值。假设我们选择的数据是x0, x1, ..., xn。那么对于拉格朗日线性插值,我们可以使用以下公式计算ln的近似值: ln(x) ≈ (x - x0)/(x1 - x0) * ln(x1) + (x - x1)/(x0 - x1) * ln(x0) 对于二次插值,我们可以使用以下公式计算ln的近似值: ln(x) ≈ (x - x1)/(x0 - x1) * (x - x2)/(x0 - x2) * ln(x0) + (x - x0)/(x1 - x0) * (x - x2)/(x1 - x2) * ln(x1) + (x - x0)/(x2 - x0) * (x - x1)/(x2 - x1) * ln(x2) 在MATLAB中,我们可以用下面的代码实现上述计算: ```MATLAB % 输入选择的数据 x0 = ...; x1 = ...; x2 = ...; % 输入插值 x = ...; % 计算插值的近似值 ln_linear_interp = (x - x0)/(x1 - x0) * log(x1) + (x - x1)/(x0 - x1) * log(x0); ln_quadratic_interp = (x - x1)/(x0 - x1) * (x - x2)/(x0 - x2) * log(x0) + (x - x0)/(x1 - x0) * (x - x2)/(x1 - x2) * log(x1) + (x - x0)/(x2 - x0) * (x - x1)/(x2 - x1) * log(x2); % 输出结果 disp(['使用拉格朗日线性插值,ln的近似值为:' num2str(ln_linear_interp)]); disp(['使用二次插值,ln的近似值为:' num2str(ln_quadratic_interp)]); ``` 以上代码中,我们需要根据实际情况输入选择的数据和插值的数值。使用这些代码,我们可以计算ln函数在给定数据上的近似值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值