声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1242|回复: 5

[编程技巧] 求助——两个空间曲面数值叠加问题

[复制链接]
发表于 2009-11-13 11:22 | 显示全部楼层 |阅读模式

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

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

x
clear all;clc
a=pi/4;x=-10:0.1:10;
[X,Y]=meshgrid(x);
Z=sqrt(X.^2+Y.^2)*cot(a);
[X1,Y1]=meshgrid(1:0.1:5,-4:0.1:0);
Z1=10-0.1*sqrt((X1-3).^2+(Y1+2).^2)+sqrt(X1.^2+Y1.^2)*cot(a);
k1=find(x==1);k2=find(x==5);
k3=find(x==-4);k4=find(x==0);
Z(k1:k2,k3:k4)=Z1;
surf(X,Y,Z)

想要把两个空间曲面数值叠加,第一个圆锥曲面z可以得到,没有问题,叠加第二个曲面z1时,应该只叠加一个圆形区域,但却出来的是矩形,请大家帮我看看,如何能得到一个圆形的叠加区域,谢谢
未命名.jpg
回复
分享到:

使用道具 举报

发表于 2009-11-13 19:09 | 显示全部楼层
不懂! X1/Y1都是41*41, 为何是圆形区域, 不是矩形?
 楼主| 发表于 2009-11-13 22:14 | 显示全部楼层

回复 沙发 ChaChing 的帖子

我要得到叠加范围为圆形区域,但结果却是矩形,我现在想要得到圆形应该怎么办?程序怎么改?老兄,懂了么?谢谢
发表于 2009-11-13 23:09 | 显示全部楼层

回复 板凳 ericky 的帖子

LZ是要将1F突出那部分, 画成类似圆柱突出?
若是, 试试将Z1在圆外的元素设为nan

还有建议看下
提问的智慧!!!!(发帖前请认真阅读)
http://forum.vibunion.com/forum/viewthread.php?tid=21991
发表于 2009-11-17 09:01 | 显示全部楼层

这样对不对?

【注意我的网格密度缩小至 0.25 了,这样看的清楚些,最重要的是使两个曲面的圆形区域的网格数相同】
clear all; clc
a=pi/4; x=-10:.25:10; [X,Y]=meshgrid(x);
Z=sqrt(X.^2+Y.^2)*cot(a);

[X1,Y1]=meshgrid(1:.25:5,-4:.25:0);
Z1=10-0.1*sqrt((X1-3).^2+(Y1+2).^2)+sqrt(X1.^2+Y1.^2)*cot(a);

O = [3,-2];
P  = find(( X(:)-O(1)).^2+( Y(:)-O(2)).^2<=4);
P1 = find((X1(:)-O(1)).^2+(Y1(:)-O(2)).^2<=4);
Z(P)=Z(P)+Z1(P1); figure; surf(X,Y,Z)

[ 本帖最后由 ChaChing 于 2009-11-20 18:18 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2009-11-20 16:40 | 显示全部楼层
原帖由 lilongduzhi 于 2009-11-17 09:01 发表
【注意我的网格密度缩小至 0.25 了,这样看的清楚些,最重要的是使两个曲面的圆形区域的网格数相同】
clear all;
clc
a=pi/4;
x=-10:.25:10;
[X,Y]=meshgrid(x);
Z=sqrt(X.^2+Y.^2)*cot(a);

[X1,Y1]=meshgr ...


谢谢,我给你发消息了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-20 21:12 , Processed in 0.072986 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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