24小时热门版块排行榜    

查看: 1397  |  回复: 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的回帖

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的回帖
adu886886:专业版块请勿灌水,首次警告,下不为例! 2010-07-30 17:02:30
4楼2010-07-30 15:17:15
已阅   回复此楼   关注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的回帖

robert2020

银虫 (著名写手)

luohubin(金币+2): 2010-08-04 09:10:19
使用comtan(1:1:10)可以运行(matlab7.0),把*.m文件最后一句“s=[x1,x2];”中的“;”去掉就会出结果
引用回帖:
Originally posted by luohubin at 2010-07-29 14:54:19:
大家好,我刚接触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* ...

Truthfulness,Compassion,Tolerance,Beauty
6楼2010-08-03 00:53:00
已阅   回复此楼   关注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的回帖

robert2020

银虫 (著名写手)

luohubin(金币+1):已经很感谢了,本来想多给金币,没想到不能增加,不好意思 2010-08-07 16:19:07
楼主,不好意思,偶没有装2010版的,不太清楚是何问题;
自己以前编过一个求半圆切线方程的程序,希望对楼主有所帮助。
引用回帖:
% 求两个半圆的公切线
clc;clear all;close all
syms x
y1=sqrt(1-x.^2);
y2=2-sqrt(1-x.^2);
% 求导
y11=diff(y1,x);
y22=diff(y2,x);
% 求切线斜率 k0 及切点坐标(x0,y0)
f1=y2-y1;
f2=y22-y11;
x0=solve(f1);
k0=solve(f2);
y0=subs(y1,x0);
y=k0*x+y0; % 切线方程
x1=-1:0.001:1; % 定义自变量
y=subs(y,x1,'r'); % 切线
y1=subs(y1,x1); % 半圆 1
y2=subs(y2,x1); % 半圆 2
% 绘图
plot(x1,y)
hold on
plot(x1,y1)
plot(x1,y2)
axis([-1 1 0 2])

引用回帖:
Originally posted by luohubin at 2010-08-04 09:11:58:

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

s =

[ empty sym ]


ans =
...

Truthfulness,Compassion,Tolerance,Beauty
8楼2010-08-04 13:28:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 luohubin 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 只有每年这种时候来逛逛小木虫 +23 yaoyewhu2008 2026-08-20 25/1250 2026-08-21 12:19 by Poppy1104
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 看来今天不会放榜了? +3 chengyan1220 2026-08-21 3/150 2026-08-21 12:11 by llionlee007
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 7/350 2026-08-21 11:45 by 6543yes
[基金申请] 时间戳又变了8-15 +15 archvillain 2026-08-15 27/1350 2026-08-21 11:32 by tim76
[基金申请] 科研孤儿太难了 +15 我4大白菜 2026-08-20 16/800 2026-08-21 11:07 by yming1319
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 13/650 2026-08-21 08:30 by 北京莱茵编辑
[基金申请] 时间戳今天,20号变了 +4 archvillain 2026-08-20 4/200 2026-08-21 08:10 by gatelove
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见