24小时热门版块排行榜    

查看: 2116  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
[考研] 材料专硕274一志愿陕西师范大学求调剂 +5 薛云鹏 2026-03-13 5/250 2026-03-17 10:15 by Sammy2
[考研] 267一志愿南京工业大学0817化工求调剂 +6 SUICHILD 2026-03-12 6/300 2026-03-17 09:24 by 雾散后相遇lc
[考研] 274求调剂 +5 时间点 2026-03-13 5/250 2026-03-17 07:34 by 热情沙漠
[文学芳草园] 伙伴们,祝我生日快乐吧 +17 myrtle 2026-03-10 26/1300 2026-03-16 18:32 by 青橙Ln
[考研] 304求调剂 +4 ahbd 2026-03-14 4/200 2026-03-16 16:48 by 我的船我的海
[考研] 材料与化工专硕调剂 +3 heming3743 2026-03-16 3/150 2026-03-16 15:05 by peike
[考研] 材料与化工一志愿南昌大学327求调剂推荐 +7 Ncdx123456 2026-03-13 8/400 2026-03-16 12:15 by karry wen
[考研] 308求调剂 +3 是Lupa啊 2026-03-16 3/150 2026-03-16 10:07 by 求调剂zz
[考研] 344求调剂 +3 knight344 2026-03-16 3/150 2026-03-16 09:42 by 无际的草原
[考研] 0856专硕279求调剂 +5 加油加油!? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
[考研] 复试调剂 +3 呼呼?~+123456 2026-03-14 3/150 2026-03-14 16:53 by WTUChen
[考研] 【0703化学调剂】-一志愿华中师范大学-六级475 +5 Becho359 2026-03-11 5/250 2026-03-14 11:35 by 哦哦123
[考研] 材料080500调剂求收留 +3 一颗meteor 2026-03-13 3/150 2026-03-14 10:54 by peike
[考研] 材料工程,326分,求调剂 +6 KRSLSR 2026-03-10 6/300 2026-03-13 23:47 by JourneyLucky
[考研] 290求调剂 +9 ADT 2026-03-11 9/450 2026-03-13 21:55 by JourneyLucky
[考研] 307求调剂 +5 超级伊昂大王 2026-03-12 5/250 2026-03-13 15:56 by 棒棒球手
[考研] 289求调剂 +3 李政莹 2026-03-12 3/150 2026-03-13 11:02 by 求调剂zz
[考研] 工科0856专硕化学工程269能调剂吗 +10 我想读研11 2026-03-10 10/500 2026-03-13 10:14 by Yuyi.
[考研] 298求调剂 +3 Vv呀! 2026-03-10 3/150 2026-03-10 22:40 by 剑诗杜康
信息提示
请填处理意见