24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1770  |  回复: 19
本帖产生 1 个 计算强帖 ,点击这里进行查看

ice17890

铁虫 (小有名气)

[求助] 求助 matlab交点问题

直线AB的方程为y=tan(θ)*(x-0.5)
直线CD的方程为y=-tan(61.01*pi/180)*(x+0.5)
求其中θ=15*pi/180:5*pi/180:85*pi/180变化时两直线的一系列交点,想问如何用程序实现,我能求出一个交点,就是当θ为一定值时,可是它变化了我就求不出来,请高手帮忙!
回复此楼
你不开心,没人替你开心的
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖


cenwanglai: 计算强帖+1, 感谢耐心回复 2012-04-29 20:35:57
引用回帖:
10楼: Originally posted by ice17890 at 2012-04-28 14:34:42:
不好意思,我不知道如何支付给你金币,我送你朵花吧,还有一个问题,我要是想让他显示x,y的坐标值,就是一个X对应一个Y的显示出来,需要加一个什么样的语句呢?谢谢了,太感谢你了!

不必客气啊。换成下面的代码即可:
clc;
xita=15*pi/180:5*pi/180:85*pi/180;
nxita=length(xita);
x=-30:0.01:30;
nx=length(x);
A=zeros(nxita,nx);
k=61.01*pi/180.;
z=-tan(xita)./tan(k);
for ix=1:nx
    A(:,ix)=tan(xita).*(x(ix)-0.5);   
end
x1=-0.5.*(z+1)./(1-z);% 求到的根
y1= -tan(k).*(x1+0.5);
Root=zeros(nxita,2);
for ix=1:nxita
    Root(ix,1)=x1(ix);
    Root(ix,2)=y1(ix);
end
disp(Root);
plot(x,A);
hold on;
y=-tan(k).*(x+0.5);
plot(x,y,'LineWidth',4,'Color','r');

» 本帖已获得的红花(最新10朵)

我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
11楼2012-04-28 15:32:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

ice17890

铁虫 (小有名气)

自己顶起
你不开心,没人替你开心的
2楼2012-04-27 14:26:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖


感谢参与,应助指数 +1
dbb627: 金币+1, 谢谢应助 2012-04-28 06:35:39
xita=15*pi/180:5*pi/180:85*pi/180;
k=61.01*pi/180.;
z=tan(xita)./tan(k);
x=1./(z-1) %x为存放所有根的数组
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
3楼2012-04-27 21:20:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

★ ★ ★ ★ ★
ice17890: 金币+2, ★★★★★最佳答案, 很好 2012-04-28 09:37:14
cenwanglai: 金币+3, 感谢回复! 2012-04-29 20:35:14
求根加画图:

xita=15*pi/180:5*pi/180:85*pi/180;
nxita=length(xita);
x=-30:0.01:30;
nx=length(x);
A=zeros(nxita,nx);
k=61.01*pi/180.;
z=tan(xita)./tan(k);
for ix=1:nx
    A(:,ix)=tan(xita).*(x(ix)-0.5);   
end
x1=1./(z-1)% 求到的根
plot(x,A);
hold on;
y=tan(k).*(x+0.5);
plot(x,y,'LineWidth',4,'Color','r');
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
4楼2012-04-27 21:51:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ice17890

铁虫 (小有名气)

引用回帖:
4楼: Originally posted by baobiao007 at 2012-04-27 21:51:35:
求根加画图:

xita=15*pi/180:5*pi/180:85*pi/180;
nxita=length(xita);
x=-30:0.01:30;
nx=length(x);
A=zeros(nxita,nx);
k=61.01*pi/180.;
z=tan(xita)./tan(k);
for ix=1:nx
    A(:,ix)=tan(xita ...

谢谢你,我试试啊,不明白的再问你可以吗?非常感谢!
你不开心,没人替你开心的
5楼2012-04-28 09:37:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ice17890

铁虫 (小有名气)

引用回帖:
3楼: Originally posted by baobiao007 at 2012-04-27 21:20:59:
xita=15*pi/180:5*pi/180:85*pi/180;
k=61.01*pi/180.;
z=tan(xita)./tan(k);
x=1./(z-1) %x为存放所有根的数组

syms x y
[x,y]=solve('tan(15*pi/180)*(x-0.5)=y','-tan(61.01*pi/180)*(x+0.5)=y','x','y')
ans=[x,y]
ans =

[ -.37072704483246323273931369246846, -.23331060849079649874922716666090]
为什么和你的程序求出来的第一个值不一样呢?可以告诉我一下吗?谢谢,麻烦你了 ,你的第一个x =

   -0.6744
你不开心,没人替你开心的
6楼2012-04-28 10:47:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

引用回帖:
6楼: Originally posted by ice17890 at 2012-04-28 10:47:36:
syms x y
=solve('tan(15*pi/180)*(x-0.5)=y','-tan(61.01*pi/180)*(x+0.5)=y','x','y')
ans=
ans =


为什么和你的程序求出来的第一个值不一样呢?可以告诉我一下吗?谢谢,麻烦你了 ,你的第一个x =

...

我没注意你那个CD直线方程前面有个负号,改成下面的代码就可以了:
clc;
xita=15*pi/180:5*pi/180:85*pi/180;
nxita=length(xita);
x=-30:0.01:30;
nx=length(x);
A=zeros(nxita,nx);
k=61.01*pi/180.;
z=-tan(xita)./tan(k);
for ix=1:nx
    A(:,ix)=tan(xita).*(x(ix)-0.5);   
end
x1=-0.5.*(z+1)./(1-z)% 求到的根
plot(x,A);
hold on;
y=tan(k).*(x+0.5);
plot(x,y,'LineWidth',4,'Color','r');
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
7楼2012-04-28 11:56:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

请把上楼中“y=tan(k).*(x+0.5)”前面也加上负号,刚才又忘了。

» 本帖已获得的红花(最新10朵)

我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
8楼2012-04-28 12:01:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ice17890

铁虫 (小有名气)

引用回帖:
8楼: Originally posted by baobiao007 at 2012-04-28 12:01:19:
请把上楼中“y=tan(k).*(x+0.5)”前面也加上负号,刚才又忘了。

太谢谢你了,我再试一下,非常感谢,我再给你点金币。谢谢你!不胜感激
你不开心,没人替你开心的
9楼2012-04-28 13:53:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ice17890

铁虫 (小有名气)

送鲜花一朵
引用回帖:
8楼: Originally posted by baobiao007 at 2012-04-28 12:01:19:
请把上楼中“y=tan(k).*(x+0.5)”前面也加上负号,刚才又忘了。

不好意思,我不知道如何支付给你金币,我送你朵花吧,还有一个问题,我要是想让他显示x,y的坐标值,就是一个X对应一个Y的显示出来,需要加一个什么样的语句呢?谢谢了,太感谢你了!
你不开心,没人替你开心的
10楼2012-04-28 14:34:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ice17890 的主题更新
信息提示
请填处理意见