Matlab 版 (精华区)
发信人: ramjet (史努比狗), 信区: Matlab
标 题: [合集]请教一个折线程序
发信站: 哈工大紫丁香 (2003年03月01日12:04:59 星期六), 站内信件
────────────────────────────────────────
rpg (行者) 于 2003年02月28日10:34:34 星期五 说道:
我是一个matlab的初学者,最近碰到了点问题,请教大家:
我想做一个镜面反射的图象,可执行后的图象总是不对,下面是原码:
function pl1=plain(a,h) %平面镜面反射情况(在原点发射)
syms x
y1=[-tan(a) -h] %用点斜式表示方程
x1=roots(y1)
x2=2*x1
y1=-tan(a)*x
y2=tan(a)*x
n=0
while n<10
ezplot(x,y1,[n*x2,(n+1)*x1]) (1)
hold on
ezplot(x,y2,[(n+1)*x1,(n+1)*x2]) (2)
n=n+1;
hold on
end
从图象看好像是循环的不对,本意是执行(1)+(2)后再循环,可执行的好像是(1)循
环+(2)循环。
郁闷中。。。
请大家指点迷津。thx。
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年02月28日10:54:52 星期五 说道:
你把问题说得清楚些,反射面如何?入射角如何?
────────────────────────────────────────
rpg (行者) 于 2003年02月28日11:09:38 星期五 说道:
oh,sorry,我把问题简化了,入射点在原点,反射面是平面即y=0和y=-h,入射角是a。
x1是与y=-h的交点,x2是与y=0的交点。
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年02月28日13:58:26 星期五 说道:
我做了改动,你看行不行
function pl1=plain(a,h) %平面镜面反射情况(在原点发射)
syms x
x1=h*tan(a)
x2=2*x1
y1=-tan(a)*x
y2=tan(a)*x
n=0
while n<10
ezplot(x,y1+(2*n)*h,[2*n*x1,(2*n+1)*x1]) %(1)
hold on
ezplot(x,y2-(2*n+2)*h,[(2*n+1)*x1,(2*n+2)*x1]) % (2)
n=n+1;
hold on
end
line([0,x1*2*n],[0,0],'color','r')
line([0,x1*2*n],[-h,-h],'color','r')
────────────────────────────────────────
rpg (行者) 于 2003年03月01日09:14:20 星期六 说道:
多谢指正,我试了一下,效果是这样的:
/
/
/
-----
-----
\
\
\
我的目的是想要这样:
----------------------
\ /\ /
\ / \ /
\/ \/
----------------------
呵呵,大侠再看一下好么?thx!
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年03月01日10:50:21 星期六 说道:
这回行了
function pl1=plain(a,h)
%平面镜面反射情况(在原点发射)
syms x;
x1=h*cot(a);
x2=2*x1;
y1=-tan(a)*x;
y2=tan(a)*x;
n=0;
figure;
hold on
while n<10
ezplot(x,y1+(2*n)*h,[2*n*x1,(2*n+1)*x1]); %(1)
ezplot(x,y2-(2*n+2)*h,[(2*n+1)*x1,(2*n+2)*x1]); % (2)
n=n+1;
end
line([0,x1*2*n],[0,0],'color','r','linewidth',2.4)
line([0,x1*2*n],[-h,-h],'color','r','linewidth',2.4)
────────────────────────────────────────
rpg (行者) 于 2003年03月01日11:19:31 星期六 说道:
hohohoho,果然,呵呵,多谢。
────────────────────────────────────────
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.443毫秒