Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 基础科学 > 物理学
物理学 A discussion board for Physics.
 
 
主题工具 显示模式
旧 2009-04-11, 18:40   #2
hrt
初级会员
 
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0
hrt 正向着好的方向发展
默认 回复: 急!请MATLAB高手帮我解这道隐函数方程

可利用fsolve函数求解;
先编写函数M文件,如下:
function y=f(x,a) %x是数组,存储theta1、theta2,a是theta1的值
y(1)=x(1)-a;
l1=0.7;l2=1.3;l3=0.9;l4=1.5;
y(2)=l1*cos(x(1))+l2*sqrt(1-((l3*sin(x(2))-l1*sin(x(1)))/l2)^2)-l3*cos(x(2))-l4;

再在matlab命令行中输入:
>> x0=[0,0.2];
>> [x,fv,ef]=fsolve(@f,x0,[],0)
即可得到:
x =

0 1.4033


fv =

1.0e-007 *

0 0.5511

即:theta1=0时,theta2=1.4033(rad)
其它情况依此即可,要注意初值x0的选取,否则可能不收敛。
~ ~
hrt 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 17:50


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.