24小时热门版块排行榜    

查看: 2112  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

free0121

木虫 (著名写手)

[求助] 如何在MATLAB中插值求取中间截面(外轮廓线)

大家好,想向各位大侠请教一下:
如果知道一个物体的几个关键控制截面(外轮廓),如何通过插值得到中间的更多截面呢?每一个控制截面都是一个2维矩阵,表示截面上各点的X,Y坐标,每相邻两个控制截面之间是平稳光滑过渡的,即截面i逐渐沿Z轴变化到截面i+1,而且整个物体的外表面也是光滑的。如何通过这些已知的截面得到中间更多截面呢?
在MATLAB中需要用到哪些命令来处理呢?

谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
xiegangmai: 金币+3, 谢谢应助! 2012-08-16 22:53:26
free0121: 金币+10, ★★★★★最佳答案, 谢谢csgt0的热心帮助,很强大!在此之前自己用了另外的比较简单的命令来执行这样的插值求中间截面,但是写出的程序要麻烦一点,有时间再试下csgt0的这个办法。非常感谢!!! 2012-08-16 23:02:30
做了个例子,不知道行不行
思路是先将不同大小的截面(截面数组大小不同)插值成相同大小的数组,分别控制其xyz
然后对不同数组的的相同点所对应的xyz进行插值。
CODE:
clc
clear
[x1,y1]=meshgrid(-1:1);   %构建3*3截面的xy
[x2,y2]=meshgrid(-2:2);   %构建5*5截面的xy
[x3,y3]=meshgrid(-3:3);    %构建第3个截面的xy,7*7大小。
x11=x3/3;             %根据最大的截面来对最小的截面插值(-1:1之间),使得其也为7*7
y11=y3/3;
x22=x3*2/3;          %同上,同理在-2:2之间插值7个
y22=y3*2/3;
z1=[0,.5,1;0,.5,1;0,.5,1];             %3个截面的z值
z2=2*ones(5,5);
z3=4*ones(7,7);
z11=griddata(x1,y1,z1,x11,y11);          %前2个截面插值完之后的
z值
z22=griddata(x2,y2,z2,x22,y22);
surf(x1,y1,z1)                       %画出插值前截面
hold on
surf(x2,y2,z2)
hold on
surf(x3,y3,z3)
%通过上面构造,将3*3和5*5的截面插值成了7*7的数组。

for i=1:7
    for j=1:7
        x(i,j,:)=interp1(1:3,[x11(i,j),x22(i,j),x3(i,j)],1:.5:3);    %对每个数组对应位置垂直插值,将3个面插值成5个面。
        y(i,j,:)=interp1(1:3,[y11(i,j),y22(i,j),y3(i,j)],1:.5:3);
        z(i,j,:)=interp1(1:3,[z11(i,j),z22(i,j),z3(i,j)],1:.5:3);
    end
end
figure  %插值后画图
for m=1:5
    surf(x(:,:,m),y(:,:,m),z(:,:,m))
    hold on
end


插值前3个截面,每个截面的有效点数不同,分别为3*3,5*5,7*7



插值后5个截面,所有截面的有效点数相同,均为7*7

showmethemoney
5楼2012-08-16 11:41:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

free0121

木虫 (著名写手)

自己先支持一下,希望会的童鞋帮帮忙哦,先谢谢啦~~
2楼2012-08-09 21:36:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

【答案】应助回帖


感谢参与,应助指数 +1
xiegangmai: 金币+1, 谢谢参与! 2012-08-10 22:39:21
楼主可以试试help griddatan
3楼2012-08-10 16:30:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

free0121

木虫 (著名写手)

引用回帖:
3楼: Originally posted by change0618 at 2012-08-10 16:30:54
楼主可以试试help griddatan

谢谢你的建议,不过我好像用不了这类函数,比如像yi = griddatan(X,y,xi)这种形式的函数,我的已知项是各个截面的点,以及截面的Z值(所切的位置),根据这些信息,要寻找到不同的Z所对应的截面(X,Y).所以用这些函数时实际上我是希望给定一个z值,找到对应的点集合(二维截面)。

这种情况该如何处理呢?
4楼2012-08-11 23:44:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 考研调剂 +3 淇ya_~ 2026-03-17 5/250 2026-03-17 09:25 by Winj1e
[考研] 283求调剂 +3 听风就是雨; 2026-03-16 3/150 2026-03-17 07:41 by 热情沙漠
[考研] 341求调剂 +5 捣蛋猪猪 2026-03-11 5/250 2026-03-17 06:56 by Muziwl
[考研] 0703化学调剂,求各位老师收留 +8 秋有木北 2026-03-14 8/400 2026-03-16 15:21 by 哦哦123
[基金申请] 现在如何回避去年的某一个专家,不知道名字 +3 zk200107 2026-03-12 6/300 2026-03-14 17:13 by zk200107
[考研] 255求调剂 +3 李嘉慧, 2026-03-12 4/200 2026-03-14 16:58 by 有只狸奴
[考研] 308 085701 四六级已过求调剂 +7 温乔乔乔乔 2026-03-12 14/700 2026-03-14 10:49 by JourneyLucky
[考研] 材料工程专硕,一志愿中国矿业大学,总分314,求调剂 +5 无懈可击的巨人 2026-03-10 5/250 2026-03-14 00:37 by JourneyLucky
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-10 3/150 2026-03-14 00:12 by JourneyLucky
[考研] 341求调剂 +3 番茄头--- 2026-03-10 3/150 2026-03-13 23:07 by JourneyLucky
[考研] 285 求调剂 资源与环境 一志愿北京化工大学 +3 未名考生 2026-03-10 3/150 2026-03-13 23:04 by JourneyLucky
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
[考研] 四川大学085601材料工程专硕 初试294求调剂 +4 祝我们好在冬天 2026-03-11 4/200 2026-03-13 21:39 by peike
[考研] 333求调剂 +3 球球古力 2026-03-11 3/150 2026-03-13 21:27 by JourneyLucky
[考研] 315求调剂 +9 小羊小羊_ 2026-03-11 10/500 2026-03-13 21:13 by SXNU李老师
[考研] 26调剂/材料科学与工程/总分295/求收留 +9 2026调剂侠 2026-03-12 9/450 2026-03-13 20:46 by 18595523086
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[考研] 一志愿山大07化学 332分 四六级已过 本科山东双非 求调剂! +3 不想理你 2026-03-12 3/150 2026-03-13 14:18 by JourneyLucky
[基金申请] 提交后的基金本子,已让学校撤回了,可否换口子提交 +3 dut_pfx 2026-03-10 3/150 2026-03-11 08:38 by kudofaye
[考研] 0703化学调剂 +3 三dd. 2026-03-10 3/150 2026-03-10 15:45 by peike
信息提示
请填处理意见