作者leoking0106 (white)
看板MATLAB
标题Re: [问题]Matlab找分段函数跟圆的交点与syms指令
时间Sun May 12 13:11:52 2013
※ 引述《leoking0106 (white)》之铭言:
: 找交点的部分我写的code是这样
: beta= 35;
: H=6;
: r=9.5;x0=2.5;y0=9.15;
: m=tan(beta*pi/180);
: xh=H/m;
: syms xx;
: y1=0;
: y2=m.*xx;
: y3=H;
: yup=(y1.*(heaviside(xx-(x0-r))-heaviside(xx))+...
: y2.*(heaviside(xx)-heaviside(xx-xh))+...
: y3.*(heaviside(xx-xh)-heaviside(xx-(x0+r))));
: ydown=-(r.^2-(xx-x0).^2).^0.5+y0;
: cc=solve(ydown-yup);
: plot(linspace(-1,12),subs(ydown,linspace(-1,12)),...
: linspace(-1,12),subs(yup,linspace(-1,12)))
: 我用plot确定我两个函数是有交点的 但结果却说没有交点
: 能不能帮我看看是哪部分写错了呢?
: 还有我yup函数的最後一点yup(12)应该是6
: 但为什麽我用subs(yup,12)出来的值却是3??
: 最後我想问用subs(y,x)可以找函数值
: 那有没有甚麽指令是可以找反函数的呢?
: 拜托各位高手帮我看一下 debug好久好痛苦QQ
不好意思j大又来问你
你用我的code跑出来交点有值吗?
我跑出来结果是
Warning: Explicit solution could not be found.
他还说错误出在solve那一行
我这样写的逻辑是对的吗?
还是哪边语法出错误呢??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 223.136.205.184
1F:→ jatj:我跑出来是有的 cc=32131^(1/2)/20 + 5/2,5/2-2611^(1/2)/20 05/12 15:01
2F:→ jatj:我的版本是R2013a 05/12 15:01
3F:→ leoking0106:我的版本是2010a 有没有甚麽其他写法可以找出焦点呢? 05/12 15:17
5F:→ leoking0106:2010a没有vpasolve功能耶如果用fzero或fsolves能做吗? 05/12 16:18
6F:→ jatj:yes, 但可能就要你自己找罗 05/12 16:30
7F:→ leoking0106:好怪 我发现m那边不要用tan表示直接打一个斜率进去就 05/12 20:31
8F:→ leoking0106:可以run fsolve要先指定x0我好像也不适用QQ 05/12 20:32
9F:→ leoking0106:不过还是感谢你耐心帮我解答 05/12 20:33