nothing12733 发表于 2008-5-6 14:34

如何求解牛顿辛普森方程这个非线性方程

有没有高手知道牛顿辛普森方程的代码, 或者请高手帮忙发一段用fsolve解这个非线性方程的代码, 谢谢

程序如下rs(1)=304.8; % 设定机架1长度
rs(2)=101.6; % 设定曲柄2长度
rs(3)=254.0; % 设定连杆3长度
rs(4)=177.8; % 设定摇杆4长度
dr=pi/180.0;% 角度与弧度的转换系数
% 设定初始推测的输入
% 机构的初始位置
th(1)=0.0; % 设定曲柄2初始位置角是0度(与机架1共线)
th(2)=45*dr; % 连杆3的初始位置角是 45度
th(3)=135*dr; % 摇杆4的初始位置角是135度
% 摇杆4的初始位置角可以用三角形的正弦定理确定
th(3)=pi-asin(sin(th(2))*rs(3)/rs(4)) dth=5*dr;
% 循环增量
% 曲柄输入角从0度变化到360度,步长为5度,计算th34
for i=1:72 =ntrps(th,rs); % 调用牛顿—辛普森方程求解机构位置解非线性方程函数文件
% Store results in a matrix-th34,in degrees
% 在矩阵th34中储存结果,以度为单位;(i,:)表示第i行所有列的元素;(:,i)表示第i列所有行的元素
th34(i,:)=; % 矩阵[曲柄转角 连杆转角 摇杆转角]
th(1)=th(1)+dth; % 曲柄转角递增
th(2)=th3; % 连杆转角中间计算值
th(3)=th4; % 摇杆转角中间计算值
end


方程如下
f1(θ3,θ4)=r2cosθ2+r3cosθ3-r1-r4cosθ4=0
f2(θ3, θ4)=r2sinθ2+r3sinθ3-r4sinθ4=0

[ 本帖最后由 ChaChing 于 2009-9-9 21:48 编辑 ]

huright 发表于 2008-5-6 15:12

搜索我发的帖子:fsolve

nothing12733 发表于 2008-5-6 17:49

我没找到啊??能不能把链接发上来 谢谢了

[ 本帖最后由 ChaChing 于 2009-9-9 21:52 编辑 ]

ch_j1985 发表于 2008-5-6 18:16

原帖由 nothing12733 于 2008-5-6 17:49 发表 http://www.chinavib.com/forum/images/common/back.gif
我没找的啊??能不能把链接发上来 谢谢了

是不是这个帖子?
http://www.chinavib.com/forum/viewthread.php?tid=18886&extra=&page=1

以后要找谁发的帖子,就到他的空间里去找

eight 发表于 2008-5-6 18:27

应该不是,其实楼主在置顶帖中就找到的了(热点问题贴中),如果不会在置顶帖中找需要的帖子,请看会员守则1楼

[ 本帖最后由 ChaChing 于 2009-9-9 22:10 编辑 ]

ch_j1985 发表于 2008-5-6 18:43


应该不是,其实楼主在置顶帖中就找到的了(热点问题贴中),如果不会在置顶帖中找需要的帖子,请看会员守则1楼

谢谢eight院长,受教啦:@)
是这个帖子:
http://forum.vibunion.com/forum/thread-47883-1-1.html

nothing12733 发表于 2008-5-6 18:50

太感谢了 :lol :lol

请问能不能就我这个问题帮忙编一段程序 谢谢:handshake

[ 本帖最后由 ChaChing 于 2009-9-9 22:13 编辑 ]

eight 发表于 2008-5-6 19:05

原帖由 nothing12733 于 2008-5-6 18:50 发表 http://www.chinavib.com/forum/images/common/back.gif
太感谢了 :lol :lol :lol :lol :lol :lol 请勿连续使用多个标点符号、表情

footgun 发表于 2009-9-9 16:39

来源:“机械工程设计分析与MATLAB应用”

已知四杆长,曲柄转速,求运动线图

% 曲柄摇杆机构运动分析
% (1)-----为了计算连杆的输出角th3和摇杆的输出角th4
% 设定各杆的长度(单位:毫米)
clear
rs(1)=304.8;      % 设定机架1长度
rs(2)=101.6;      % 设定曲柄2长度
rs(3)=254;      % 设定连杆3长度
rs(4)=177.8;      % 设定摇杆4长度
dr=pi/180.0;% 角度与弧度的转换系数
% 设定初始推测的输入
% 机构的初始位置
th(1)=0.0;          % 设定曲柄2初始位置角是0度(与机架1共线)
th(2)=45*dr;      % 连杆3的初始位置角是 45度
th(3)=135*dr;       % 摇杆4的初始位置角是135度
% 摇杆4的初始位置角可以用三角形的正弦定理确定
%th(3)=pi-asin(sin(th(2))*rs(3)/rs(4))
dth=5*dr;                               % 循环增量
% 曲柄输入角从0度变化到360度,步长为5度,计算th34
for i=1:72
    =ntrps(th,rs); % 调用牛顿—辛普森方程求解机构位置解非线性方程函数文件
    % 在矩阵th34中储存结果,以度为单位;(i,:)表示第i行所有列的元素;(:,i)表示第i列所有行的元素
    th34(i,:)=; % 矩阵[曲柄转角 连杆转角 摇杆转角]
    th(1)=th(1)+dth;                  % 曲柄转角递增
    th(2)=th3;                        % 连杆转角中间计算值
    th(3)=th4;                        % 摇杆转角中间计算值
end
% 绘制输出角th(2)与th(3)—输入角th(1)的关系曲线
subplot(2,2,1)                        % 选择第1个子窗口
plot(th34(:,1),th34(:,2),th34(:,1),th34(:,3))


重点在红色的句子,书上没有给出相应的求解子函数

自己写了如下求解非线性方程的函数

function =ntrps(th,rs)
dr=pi/180.0;rs(1)=304.8;      % 设定机架1长度
rs(2)=101.6;      % 设定曲柄2长度
rs(3)=254;      % 设定连杆3长度
rs(4)=177.8;      % 设定摇杆4长度
x0=;
=fsolve(@fangc,x0)%(th(2),th(3))

其中:

function F=fangc(th,rs)
rs(1)=304.8;      % 设定机架1长度
rs(2)=101.6;      % 设定曲柄2长度
rs(3)=254;      % 设定连杆3长度
rs(4)=177.8;      % 设定摇杆4长度
F(1)=rs(2)*cos(th(1))+rs(3)*cos(th(2))-rs(1)-rs(4)*cos(th(3));
F(2)=rs(2)*sin(th(1))+rs(3)*sin(th(2))-rs(4)*sin(th(3));


问题:每次由fsolve解出的fangc非线性方程th3,th4都有几个解,导致紫色的句子无法赋值。

不知道怎么解决。
页: [1]
查看完整版本: 如何求解牛顿辛普森方程这个非线性方程