声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1707|回复: 5

[综合讨论] 请教 matlab 一维插值后如何得到自己想要的某个点的函数值

[复制链接]
发表于 2012-8-18 19:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
code 如下:
clc
clear
x1=linspace(0.5,0.78,1e2);
m1=[15.5 14.9 14.4 13.9 13.4 13.0 12.6 12.2 11.9 11.5 11.2 10.9 10.6 10.3 10.1];
m2=[1.205 1.13 1.063 1.002 0.974 0.896 0.850 0.807 0.767 0.730 0.696 0.665 0.636 0.609 0.583 ];
x2=[0.5 0.52 0.54 0.56 0.58 0.60 0.62 0.64 0.66 0.68 0.70 0.72 0.74 0.76 0.78];
a1=m2.^2-m1.^2;
a2=2.*m1.*m2;
a3=a1+1i.*a2;
a3c=interp1(x2,a3,x1,'spline');
plot(x1,real(a3c))
hold on
plot(x1,imag(a3c))
插值完还是分离的数值点,如果我得到x1=0.643的值,这个要怎么取出来?
回复
分享到:

使用道具 举报

发表于 2012-8-29 10:34 | 显示全部楼层
我有一个方法,虽然麻烦,但应该可以,你电脑上如果有origin软件,可以直接用origin处理,或者你可以把你在matlab中经过样条插值得到的数据导入到origin中,在origin中画图,画完图,点击左边的十字架,可以得到横纵坐标。横坐标为0.643对应的纵坐标值就是函数值。matlab样条插值可能不能显示表达式,所以没法用表达式去算,或者你可以用matlab拟合工具箱看看哪个表达式最接近你的点就可以用该表达式来近似计算你要求的点的函数值。
发表于 2012-8-29 10:35 | 显示全部楼层
-145.1754和19.7368。这种方法适用于点较少的情况,且所要计算的点在已有插值点范围内。
发表于 2012-8-30 15:34 | 显示全部楼层
LZ好像也十天没出现了, 不知是否解决了?
帮助文献不就有说明了!
  1. interp1(x2,a3,0.643)
复制代码

点评

赞成: 5.0
赞成: 5
这个基本满足我的计算需要了  发表于 2012-9-1 21:25

评分

1

查看全部评分

 楼主| 发表于 2012-9-1 20:44 | 显示全部楼层

多谢回复,我试下
 楼主| 发表于 2012-9-1 20:46 | 显示全部楼层
回复 4 # ChaChing 的帖子

放假回家去了,刚回来,看到大家回复,多谢前辈指点,呵呵
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 04:03 , Processed in 0.074138 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表