24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1034  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

luohubin

木虫 (正式写手)

[交流] 【求助】解方程组的错误已有5人参与

大家好,我刚接触matlab,想求两条曲线的公切线方程,写了代码如下
function s=comtan(p)
syms x1 x2;
a=p(1);
b=p(2);
c=p(3);
d=p(4);
e=p(5);
g=p(6);
h=p(7);
i=p(8);
j=p(9);
k=p(10);
f1=a+b*exp(c*x1^0.3333334)+d*exp(e*x1^0.3333334);
f2=g+h*exp(i*x2^0.3333334)+j*exp(k*x2^0.3333334);
df1=diff(f1,x1);
df2=diff(f2,x2);
A1=simplify((f2-f1)/(x2-x1)-df1);
A2=simplify(df2-df1);
[x1,x2]=solve(A1,A2);
s=[x1,x2];

但是总提示我Error: Unexpected MATLAB expression,找不到错误,请大家帮忙,如果有更好的求公切线方程的方法希望能指点一下
回复此楼

» 猜你喜欢

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

消愁无计对金樽
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luohubin

木虫 (正式写手)

还是有问题

引用回帖:
Originally posted by robert2020 at 2010-08-03 00:53:00:
使用comtan(1:1:10)可以运行(matlab7.0),把*.m文件最后一句“s=[x1,x2];”中的“;”去掉就会出结果


版主,还是有问题啊,我是 R2010版本,看你说的做了,下面是出来的信息
Warning: Explicit solution could not be found.
> In solve at 81
  In comtan at 19

s =

[ empty sym ]


ans =

[ empty sym ]
这是哪里出问题了呢?
消愁无计对金樽
7楼2010-08-04 09:11:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

ctgu_zheng

专家顾问 (著名写手)



nono2009(金币+1):鼓励应助。 2010-07-29 17:22:26
luohubin(金币+2):这些语句其实是要求出两条曲线f1,f2的两个公切点,结果是要得到两个点的横坐标x1,x2. 至于solve,应该没问题,用help solve可以找到范例,网上不少人也这样用。还是感谢! 2010-07-29 18:09:08
程序我看了会
公切线方程没太明白到底是什么方程;
符号运算 simplify好像用的不太多;
然后 solve命令也不对 如果是想求A1=0,A2=0的解的话
应该是这样的 [x1,x2]=solve('A1=0','A2=0');
2楼2010-07-29 16:15:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

icyspace

金虫 (小有名气)

luohubin(金币+2):啊?是吗?我用comtan(1:1:10)怎么没反应?不是这样输入吗? 2010-07-30 21:48:27
我运行了下,感觉挺正常的啊~我舍 p=1:1:10;可以得到结果的~
3楼2010-07-30 14:44:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

icyspace

金虫 (小有名气)


robert2020(金币+1):鼓励应助!欢迎常来仿真模拟版交流! 2010-08-03 00:53:48
luohubin(金币+1):谢谢 2010-08-04 09:12:51
试试这个

p=1:10;comtan(p);

[ Last edited by icyspace on 2010-7-31 at 13:23 ]
5楼2010-07-31 13:21:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见