24小时热门版块排行榜    

CyRhmU.jpeg
查看: 630  |  回复: 17
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 wuqingming2003 的 50 个金币

hitzhang

木虫 (正式写手)

★ ★ ★ ★ ★
wuguocheng(金币+5,VIP+0): 谢谢专家指点 10-16 16:39
引用回帖:
Originally posted by wuqingming2003 at 2009-10-16 09:37:
结果不是切面的等高线呀,请问是我哪里出错了,谢谢!

我给你的步骤4,5你没运行吧
11楼2009-10-16 12:56:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuqingming2003

木虫 (小有名气)

完成步骤3后,生成了图片,然后运行了步骤4和5,但是没有得到等高线的图,不知道是哪里出问题了,请指教,谢谢!
引用回帖:
Originally posted by hitzhang at 2009-10-16 12:56:

我给你的步骤4,5你没运行吧

12楼2009-10-16 13:21:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

引用回帖:
Originally posted by wuqingming2003 at 2009-10-16 13:21:
完成步骤3后,生成了图片,然后运行了步骤4和5,但是没有得到等高线的图,不知道是哪里出问题了,请指教,谢谢!

哦,那是假象,你在运行步骤4,5之前执行一下

hold off
13楼2009-10-16 14:30:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuqingming2003

木虫 (小有名气)

>> [path,fn]=uigetfile('*.txt','Open');
fp=fopen([fn,path],'r');
head=fscanf(fp,'%s',4);
data=fscanf(fp,'%f',[4,40*40*40]);
fclose(fp);
x=reshape(data(1,,[40,40,40]);
y=reshape(data(2,,[40,40,40]);
z=reshape(data(3,,[40,40,40]);
w=reshape(data(4,,[40,40,40]);
>> a=[20 20 20];
b=[26 26 26];
c=[38 10 22];
>> der1=[0 1 0]; %x-z平面法相方向
der2=cross(b-a,c-a);%预制平面法向方向
der3=cross(der1,der2);%两平面交线方向
the=acos(dot(der2,der1)/sqrt(sumsqr(der1)*sumsqr(der2)));%两平面夹角
>> [xx zz]=meshgrid(-10:50);yy=ones(size(xx));
mesh(xx,yy,zz),hold on;hsp = mesh(xx,yy,zz);
rotate(hsp,der3,the*180/pi,[1 1 1])%旋转平面,如附件一
scatter3(20,20,20)
scatter3(26,26,26)
scatter3(38,10,22)
>> hold off
>> xd = get(hsp,'XData');
yd = get(hsp,'YData');
zd = get(hsp,'ZData');
>> contourslice(x,y,z,w,xd,yd,zd)
hold on;
contourslice(x,y,z,w,[],1,[])
scatter3(20,20,20)
scatter3(26,26,26)
scatter3(38,10,22)

我运行到这个程序,得到的结果还是没有等高线,图形如下,请问是哪里出错了?谢谢!真是麻烦你了!
引用回帖:
Originally posted by hitzhang at 2009-10-16 14:30:

哦,那是假象,你在运行步骤4,5之前执行一下

hold off

14楼2009-10-16 15:18:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

★ ★
wuguocheng(金币+2,VIP+0): 谢谢帮助 10-17 07:28
引用回帖:
Originally posted by wuqingming2003 at 2009-10-16 15:18:
>> [path,fn]=uigetfile('*.txt','Open');
fp=fopen([fn,path],'r');
head=fscanf(fp,'%s',4);
data=fscanf(fp,'%f',[4,40*40*40]);
fclose(fp);
x=reshape(data(1,,[40,40,40]);
y=reshape(data(2 ...

把hold off换成figure试试。
15楼2009-10-16 17:46:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuqingming2003

木虫 (小有名气)

换成figure后还是不行,和原来得到的图一样,就是只有三个点的一张白图。
引用回帖:
Originally posted by hitzhang at 2009-10-16 17:46:

把hold off换成figure试试。

16楼2009-10-17 18:39:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
nono2009(金币+2,VIP+0):谢谢专家! 10-18 10:16
wuqingming2003(金币+20,VIP+0):感谢几天来尽心尽力的帮助! 10-19 23:32
引用回帖:
Originally posted by wuqingming2003 at 2009-10-17 18:39:
换成figure后还是不行,和原来得到的图一样,就是只有三个点的一张白图。



试试这段程序,如果还不行,我也没辙了。
>> [x y z]=meshgrid(1:40);
>> C=sin((x.^2+y.^2+z)/20);
>> a=[20 20 20];
>> b=[26 26 26];
>> c=[38 10 22];
>> der1=[0 1 0]; %x-z平面法相方向
>> der2=cross(b-a,c-a);%预制平面法向方向
>> der3=cross(der1,der2);%两平面交线方向
>> the=acos(dot(der2,der1)/sqrt(sumsqr(der1)*sumsqr(der2)));%两平面夹角
>> [xx zz]=meshgrid(-10:50);yy=ones(size(xx));
>> hsp = mesh(xx,yy,zz);
>> rotate(hsp,der3,the*180/pi,[1 1 1])
>> xd = get(hsp,'XData');
>> yd = get(hsp,'YData');
>> zd = get(hsp,'ZData');
>> delete(hsp)
>> contourslice(x,y,z,C,xd,yd,zd)
>> hold on;
>> scatter3(20,20,20)
>> scatter3(26,26,26)
>> scatter3(38,10,22)
>>

[ Last edited by hitzhang on 2009-10-18 at 10:12 ]
17楼2009-10-18 10:11:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuqingming2003

木虫 (小有名气)

★ ★ ★ ★ ★
nono2009(金币+5,VIP+0):很好的交流。欢迎常来仿真模拟版。 10-20 06:39
感谢你这几天的帮助!虽然我还是没有得到想要的结果,估计是和我的数据的C的提取有关,我自己试着去解决吧,就当是学习了,再次感谢!
引用回帖:
Originally posted by hitzhang at 2009-10-18 10:11:


试试这段程序,如果还不行,我也没辙了。
>> [x y z]=meshgrid(1:40);
>> C=sin((x.^2+y.^2+z)/20);
>> a=[20 20 20];
>> b=[26 26 26];
>> c= ...

18楼2009-10-19 23:31:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wuqingming2003 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见