您的位置:程序门 -> .net技术 -> c#



一道c#编程题!帮我一下


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一道c#编程题!帮我一下[已结贴,结贴人:zjliujun]
发表于:2007-03-05 20:29:28 楼主
x*x*x*-3sin(x)-1=0   在0到1之间的解,精确到小数点5位     !

谢谢
发表于:2007-03-05 20:59:061楼 得分:0
1元3次方程是怎么求解啊?我还真是不知道咧。
听下面的高手讲课了。
发表于:2007-03-05 21:00:302楼 得分:0
x*x*x*-3sin(x)-1=0
第三个*是干嘛的?
发表于:2007-03-05 22:13:393楼 得分:15
以下为matlab的一个.m文件,可以利用c#内部的matlab引擎进行调用执行。
此函数要稍加改动,元函数用于计算z   =   c   *   sqrt(1-   y.*y/b/b   -   x.*x/a/a),可改为
x-3y-1=z,其中a   =   1   b   =   -3   c   =-1这个函数的基本原理是利用二分法逼近求值。
至于c#内调用matlab文件可参考帮助内的源码。
function   bendarea(a,b,c,n)
a   =   input( 'a   =   ');
b   =   input( 'b   =   ');
c   =   input( 'c   =   ');
n   =   input( '绘图精度: ');

xgrid   =   linspace(-abs(a),   abs(a),   n);
ygrid   =   linspace(-abs(b),   abs(b),   n);
[x,y]   =   meshgrid(xgrid,   ygrid);
z   =   c   *   sqrt(1-   y.*y/b/b   -   x.*x/a/a);

u   =   1;

z1   =   real(z);
for   k   =   2   :   n   -   1
       
        for   j   =   2   :   n   -   1
               
                if   imag(z(k   ,   j))   ~=0
                       
                        z1(k,j)   =   0;
                       
                end
                if   all(imag(z([k-1,k+1],[j-1,j+1])))   ~=0
                       
                        z1(k,j)   =   nan;
                       
                end
        end
end
surf(x,y,z1);
hold   on;

if   u   ==   1
       
        z2   =   -z1;
        surf(x,y,z2);
        axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]);
end

xlabel( 'x ');
ylabel( 'y ');
zlabel( 'z ');

title( '曲面输出 ');
hold   off;


       

发表于:2007-03-05 22:30:014楼 得分:0
计算方法都不怎么记得了
好象用什么牛顿迭代把  
要补下了  
恩  
up  
发表于:2007-03-06 00:00:245楼 得分:5
能用matlab很昂贵啊,matlab本身就大,然后还需要将matlab,的算法封装成net程序集,本身还需要用m语言,(特别灵活,而且动态定义)呵呵
发表于:2007-03-06 00:02:036楼 得分:0
而且用mablab的话,用不着写那么一堆算法的,直接可以调用   求根的相关函数应该就可以轻松搞定,可惜我没安matlab


快速检索

最新资讯
热门点击