24小时热门版块排行榜    

查看: 1990  |  回复: 13

李玲蔚

木虫 (初入文坛)

[求助] 求助matlab编程

我需要用matlab画网格,图形区域是一个圆,里面有一个挖空的五角星,同学给我讲的原理是五角星和圆上的点应该是一一对应,然后再连接个点,变成网格,他们都是用C编的,我需要用matlab,该怎么整呢,快急死了,求助求助啊!那个边界图形的代码是:function h=new(x,y,HRadium,LRadium)
angle=18;radian=pi/180;x=50;y=50;HRadium=30;LRadium=10;
for i=1:11
    if rem(i,2)==1 %
        xlabel(i)=HRadium*cosd(angle+36*(i-1));
        ylabel(i)=HRadium*sind(angle+36*(i-1));
    else
        xlabel(i)=LRadium*cosd(angle+36*(i-1));
        ylabel(i)=LRadium*sind(angle+36*(i-1));
    end
end
ylabel(2)=ylabel(1);
ylabel(4)=ylabel(5);
alpha=0:pi/20:2*pi;%角度[0,2*pi]
R=100;%半径
x1=R*cos(alpha);
y1=R*sin(alpha);
plot(xlabel,ylabel,x1,y1)
axis equal
回复此楼

» 猜你喜欢

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

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

mengxc

木虫 (著名写手)

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-06-01 01:38:23
画网格??楼主能不能具体说明一下,或者上个效果图啥的,说的太不清楚了吧
2楼2011-05-31 13:14:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


jjdg(金币+1): 感谢参与 2011-06-01 01:38:10
楼主你贴个结果图大家看看,比你描述强.现在一头雾水,不知道你要什么结果
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2011-05-31 15:55:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李玲蔚

木虫 (初入文坛)

引用回帖:
Originally posted by mengxc at 2011-05-31 13:14:34:
画网格??楼主能不能具体说明一下,或者上个效果图啥的,说的太不清楚了吧

恩。好的!



搞好研究
4楼2011-06-02 09:17:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李玲蔚

木虫 (初入文坛)

圆和五角星的尺寸自己随便定,先画网格再优化,求大侠们帮忙啊!
搞好研究
5楼2011-06-02 09:18:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mengxc

木虫 (著名写手)

【答案】应助回帖

★ ★ ★
微尘、梦想(金币+3): 谢谢参与应助! 2011-06-02 14:27:54
,您看看这个效果可不可以,不行再改,
function h=new(x,y,HRadium,LRadium)
angle=18;radian=pi/180;x=50;y=50;HRadium=30;LRadium=10;
for i=1:11
    if rem(i,2)==1 %
        xlabel(i)=HRadium*cosd(angle+36*(i-1));
        ylabel(i)=HRadium*sind(angle+36*(i-1));
    else
        xlabel(i)=LRadium*cosd(angle+36*(i-1));
        ylabel(i)=LRadium*sind(angle+36*(i-1));
    end
end
ylabel(2)=ylabel(1);
ylabel(4)=ylabel(5);
alpha=0:pi/20:2*pi;%角度[0,2*pi]


for R = 200 : -2 : 0    %R半径
    x1=R*cos(alpha);
    y1=R*sin(alpha);
    if R == 200   %第一次画圆周的同时画半径
       for i = 1:41
           plot([x1(i),0],[y1(i),0],'r')   %画半径
           hold on
       end
    end
    plot(x1,y1,'r')      %画圆
    hold on   
end
fill(xlabel,ylabel,'w')    %画五角星
hold off
axis equal
6楼2011-06-02 10:17:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李玲蔚

木虫 (初入文坛)

非常非常感激,但这个只是初步网格阶段,我给你传一个我同学用C编的程序,我对C一点都不懂,网格画出以后还要调试,哎,麻烦您了,感激不尽!
搞好研究
7楼2011-06-02 20:49:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李玲蔚

木虫 (初入文坛)

引用回帖:
Originally posted by mengxc at 2011-06-02 10:17:02:
,您看看这个效果可不可以,不行再改,
function h=new(x,y,HRadium,LRadium)
angle=18;radian=pi/180;x=50;y=50;HRadium=30;LRadium=10;
for i=1:11
    if rem(i,2)==1 %
        xlabel(i)=HR ...

还有那个网格疏密得调整,就是靠近五角星的要密,您帮我看看下面我上传的那个程序,谢谢您了
搞好研究
8楼2011-06-02 20:54:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mengxc

木虫 (著名写手)

【答案】应助回帖


dubo(金币+1): 感谢应助 2011-06-02 22:32:52
你这个C语言的代码生成的plt文件好像格式不标准,你用啥软件查看它生成的plt文件呢?
另外格网的密度可以改,但是我不知道格网之间的距离服从什么规律,所以我写的只是等间距的
9楼2011-06-02 21:37:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李玲蔚

木虫 (初入文坛)

引用回帖:
Originally posted by mengxc at 2011-06-02 21:37:49:
你这个C语言的代码生成的plt文件好像格式不标准,你用啥软件查看它生成的plt文件呢?
另外格网的密度可以改,但是我不知道格网之间的距离服从什么规律,所以我写的只是等间距的

用tecplot软件打开,网格要先用代数插值法插值,再用双边界法调正交性和间距,尤其是边界的网格可以贴近边界。要求按照《数值传热学》第10章,网格生成技术。就是陶文铨编的那本书!
搞好研究
10楼2011-06-03 09:47:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 李玲蔚 的主题更新
信息提示
请填处理意见