24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 216  |  回复: 2
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 dxyhn1979 的 2 个金币

dxyhn1979

银虫 (小有名气)

[交流] 【求助】非线性方程的求多根的数值方法?

请问各位大虾:
牛顿法,牛顿弦截法能求非线性方程的多根么?求非线性方程的多根应用什么数值方法?
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)


dxyhn1979(金币+4):先谢了哥们,先给几个币币,我试试 2010-03-17 14:01
adu886886(金币+1):谢谢提供意见 2010-03-17 14:27
引用回帖:
Originally posted by dxyhn1979 at 2010-03-17 10:39:14:
请问各位大虾:
牛顿法,牛顿弦截法能求非线性方程的多根么?求非线性方程的多根应用什么数值方法?

给你个函数
function P = InterX(L1,varargin)
%INTERX Intersection of curves
%   P = INTERX(L1,L2) returns the intersection points of two curves L1
%   and L2. The curves L1,L2 can be either closed or open and are described
%   by two-row-matrices, where each row contains its x- and y- coordinates.
%   The intersection of groups of curves (e.g. contour lines, multiply
%   connected regions etc) can also be computed by separating them with a
%   column of NaNs as for example
%
%         L  = [x11 x12 x13 ... NaN x21 x22 x23 ...;
%               y11 y12 y13 ... NaN y21 y22 y23 ...]
%
%   P has the same structure as L1 and L2, and its rows correspond to the
%   x- and y- coordinates of the intersection points of L1 and L2. If no
%   intersections are found, the returned P is empty.
%
%   P = INTERX(L1) returns the self-intersection points of L1. To keep
%   the code simple, the points at which the curve is tangent to itself are
%   not included. P = INTERX(L1,L1) returns all the points of the curve
%   together with any self-intersection points.
%   
%   Example:
%       t = linspace(0,2*pi);
%       r1 = sin(4*t)+2;  x1 = r1.*cos(t); y1 = r1.*sin(t);
%       r2 = sin(8*t)+2;  x2 = r2.*cos(t); y2 = r2.*sin(t);
%       P = InterX([x1;y1],[x2;y2]);
%       plot(x1,y1,x2,y2,P(1,,P(2,,'ro')

%   Author : NS
%   Version: 2.0, 26/11/09

%   Two words about the algorithm: Most of the code is self-explanatory.
%   The only trick lies in the calculation of C1 and C2. To be brief, this
%   is essentially the two-dimensional analog of the condition that needs
%   to be satisfied by a function F(x) that has a zero in the interval
%   [a,b], namely
%           F(a)*F(b) <= 0
%   C1 and C2 exactly do this for each segment of curves 1 and 2
%   respectively. If this condition is satisfied simultaneously for two
%   segments then we know that they will cross at some point.
%   Each factor of the 'C' arrays is essentially a matrix containing
%   the numerators of the signed distances between points of one curve
%   and line segments of the other.

    %...Argument checks and assignment of L2
    error(nargchk(1,2,nargin));
    if nargin == 1,
        L2 = L1;    hF = @lt;   %...Avoid the inclusion of common points
    else
        L2 = varargin{1}; hF = @le;
    end
      
    %...Preliminary stuff
    x1  = L1(1,';  x2 = L2(1,;
    y1  = L1(2,';  y2 = L2(2,;
    dx1 = diff(x1); dy1 = diff(y1);
    dx2 = diff(x2); dy2 = diff(y2);
   
    %...Determine 'signed distances'
    S1 = dx1.*y1(1:end-1) - dy1.*x1(1:end-1);
    S2 = dx2.*y2(1:end-1) - dy2.*x2(1:end-1);
            
    C1 = feval(hF,D(bsxfun(@times,dx1,y2)-bsxfun(@times,dy1,x2),S1),0);
    C2 = feval(hF,D((bsxfun(@times,y1,dx2)-bsxfun(@times,x1,dy2))',S2'),0)';
     
    %...Obtain the points where an intersection is expected
    [i,j] = find(C1 & C2);
    dx2=dx2'; dy2=dy2';  
    L = dy2(j).*dx1(i) - dy1(i).*dx2(j);
    i = i(L~=0); j=j(L~=0); L=L(L~=0);  %...Avoid divisions by 0
        
    %...Solve system of eqs to get the common points
    P = unique([dx2(j).*S1(i) - dx1(i).*S2(j)', ...
                dy2(j).*S1(i) - dy1(i).*S2(j)']./[L L],'rows')';
              
    function u = D(x,y)
        u = bsxfun(@minus,x(:,1:end-1),y).*bsxfun(@minus,x(:,2:end),y);
    end
end
2楼2010-03-17 11:41:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dxyhn1979

银虫 (小有名气)

看不懂啊。能解释一下么?
3楼2010-03-17 14:31:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dxyhn1979 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 329求调剂,一志愿西北工业大学,材料工程(085601) +8 小小机灵虫 2026-03-29 14/700 2026-04-03 19:38 by lijunpoly
[考研] 295求调剂 +5 FZAC123 2026-04-03 5/250 2026-04-03 18:30 by 王保杰33
[考研] 一志愿南昌大学324求调剂 +13 hanamiko 2026-04-01 13/650 2026-04-03 18:30 by ls刘帅
[考研] 一志愿华中农业071010,总分320求调剂 +7 困困困困坤坤 2026-04-02 7/350 2026-04-03 17:26 by Yuena_Wang
[考研] 调剂 +6 JLLLLLLLLLL 2026-04-03 6/300 2026-04-03 15:47 by 晴空210210
[考研] 333求调剂 +9 wfh030413@ 2026-04-03 9/450 2026-04-03 14:20 by 啊俊!
[考研] 372分材料与化工(085600)一志愿湖南大学求调剂 +5 蓝笺片 2026-04-02 6/300 2026-04-02 21:37 by dongzh2009
[考研] 277求调剂 +3 12A3 2026-04-02 3/150 2026-04-02 21:30 by swb0218
[考研] 环境科学与工程334分求调剂 +7 王一一依依 2026-03-30 9/450 2026-04-02 21:15 by 1104338198
[考研] 08开头看过来!!! +4 wwwwffffff 2026-03-31 6/300 2026-04-02 11:42 by 均值回归
[考研] 0710生物学求调剂 +9 manman511 2026-04-01 9/450 2026-04-02 10:00 by zxl830724
[考研] 270调剂 +7 maxjxbsk 2026-04-02 7/350 2026-04-02 09:50 by yulian1987
[考研] 江苏科技大学招材料研究生 +4 Su032713. 2026-04-01 5/250 2026-04-01 22:03 by cccchenso
[考研] 一志愿北交材料工程总分358 +5 cs0106 2026-04-01 7/350 2026-04-01 11:45 by wangjy2002
[考研] 土木304求调剂 +3 兔突突突, 2026-03-31 3/150 2026-04-01 09:42 by JourneyLucky
[考研] 求调剂,一志愿北林食品与营养095500,301分,已过六级,有科研经历 +4 快乐储蓄罐 2026-03-31 4/200 2026-04-01 09:26 by JourneyLucky
[考研] 一志愿北京科技大学085601材料工程英一数二初试总分335求调剂 +5 双马尾痞老板2 2026-03-31 5/250 2026-04-01 09:04 by oooqiao
[考研] 求调剂:一志愿:南京大学 专业:0705 总分320 ,本科985,四六级已过 +3 lfy760306 2026-03-31 3/150 2026-04-01 01:57 by Creta
[考研] 11408总分309,一志愿东南大学求调剂,不挑专业 +5 天赋带到THU 2026-03-29 6/300 2026-03-30 20:49 by dick_runner
[考研] 求佛 +7 迷人的哈哈 2026-03-28 7/350 2026-03-28 16:47 by 催化大白
信息提示
请填处理意见