24小时热门版块排行榜    

查看: 2122  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085700资源与环境308求调剂 +3 墨墨漠 2026-03-18 3/150 2026-03-18 22:35 by bingxueer79
[考研] 311求调剂 +4 冬十三 2026-03-18 4/200 2026-03-18 21:47 by 尽舜尧1
[考研] 085600材料与化工调剂 324分 +8 llllkkkhh 2026-03-18 8/400 2026-03-18 21:01 by Catalysis25
[教师之家] 焦虑 +8 水冰月月野兔 2026-03-13 12/600 2026-03-18 15:27 by 咪呜喵呜
[考研] 311求调剂 +6 26研0 2026-03-15 6/300 2026-03-18 14:43 by haxia
[考研] 311求调剂 +11 冬十三 2026-03-15 12/600 2026-03-18 14:36 by 星空星月
[考研] 288求调剂,一志愿华南理工大学071005 +4 ioodiiij 2026-03-17 4/200 2026-03-18 12:36 by Linda Hu
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[考研] 293求调剂 +11 zjl的号 2026-03-16 16/800 2026-03-18 08:10 by zhukairuo
[考研] 梁成伟老师课题组欢迎你的加入 +8 一鸭鸭哟 2026-03-14 10/500 2026-03-17 15:07 by 一鸭鸭哟
[考研] 290求调剂 +6 孔志浩 2026-03-12 11/550 2026-03-17 14:41 by 周舟舟77
[考研] 0856求调剂 +3 刘梦微 2026-03-15 3/150 2026-03-16 10:00 by houyaoxu
[考博] 东华理工大学化材专业26届硕士博士申请 +6 zlingli 2026-03-13 6/300 2026-03-15 20:00 by ryzcf
[考研] 22408总分284求调剂 +3 InAspic 2026-03-13 3/150 2026-03-15 11:10 by zhq0425
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
[考研] 294求调剂 +3 Zys010410@ 2026-03-13 4/200 2026-03-15 10:59 by zhq0425
[考研] 中科大材料与化工319求调剂 +3 孟鑫材料 2026-03-14 3/150 2026-03-14 20:10 by ms629
[考研] 0703化学求调剂 +7 绿豆芹菜汤 2026-03-12 7/350 2026-03-13 17:25 by njzyff
[考研] 328化工专硕求调剂 +4 。,。,。,。i 2026-03-12 4/200 2026-03-13 14:44 by JourneyLucky
[考研] 321求调剂(食品/专硕) +3 xc321 2026-03-12 6/300 2026-03-13 08:45 by xc321
信息提示
请填处理意见