CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

#################在VB中如何进行开方问题,可能问题有点菜?###################

楼主leihr(秋风)2004-12-01 21:42:57 在 VB / 基础类 提问

我想把一个数进行n次方,开平方我知道用sqr()函数,但是3   次以上开方怎样处理!  
  谢谢!! 问题点数:60、回复次数:5Top

1 楼lwaaa(迦叶)回复于 2004-12-01 21:44:18 得分 0

关注ingTop

2 楼aohan(aohan)回复于 2004-12-01 22:06:09 得分 30

用syzhangxiao的方法,代码如下:  
   
   
  Function   cube(ByVal   p   As   Double)   As   Double  
   
  Dim   xk   As   Double,   xknext   As   Double  
  Dim   wucha   As   Double,   currentwc   As   Double  
   
  '牛顿迭代法  
  wucha   =   0.0001   '误差定义:10的-4次方  
  xk   =   1#  
  xknext   =   xk   -   (xk   *   xk   *   xk   -   p)   /   (3   *   xk   *   xk)  
  currentwc   =   Abs(xknext   -   xk)   /   (1   +   Abs(xknext))  
  While   (currentwc   >   wucha)  
          xk   =   xknext  
          xknext   =   xk   -   (xk   *   xk   *   xk   -   p)   /   (3   *   xk   *   xk)  
          currentwc   =   Abs(xknext   -   xk)   /   (1   +   Abs(xknext))  
  Wend  
  cube   =   xknext  
   
  End   Function  
   
  '用此方式,可以写成开n次方(n为整数)的函数如下:  
  Function   extration(ByVal   p   As   Double,   pow   As   Integer)   As   Double  
   
  Dim   xk   As   Double,   xknext   As   Double  
  Dim   wucha   As   Double,   currentwc   As   Double  
   
  '偶数次幂,P不能小于0  
  If   pow   And   2   Then  
          If   p   <   0   Then  
                  Exit   Function  
          End   If  
  End   If  
   
  '牛顿迭代法  
  wucha   =   0.0001   '误差定义:10的-4次方  
  xk   =   1#  
  xknext   =   xk   -   (xk   ^   pow   -   p)   /   (pow   *   xk   ^   (pow   -   1))  
  currentwc   =   Abs(xknext   -   xk)   /   (1   +   Abs(xknext))  
  While   (currentwc   >   wucha)  
          xk   =   xknext  
          xknext   =   xk   -   (xk   ^   pow   -   p)   /   (pow   *   xk   ^   (pow   -   1))  
          currentwc   =   Abs(xknext   -   xk)   /   (1   +   Abs(xknext))  
  Wend  
  extration   =   xknext  
   
  End   Function  
   
  Top

3 楼aohan(aohan)回复于 2004-12-01 22:08:01 得分 0

还引用一个Bardo的方法  
  用指数与对数的方法也可以做:  
   
  因为   y=x^3  
  所以   log(y)   =   3*log(x)   (注意:VB中的log实际是ln)  
            log(x)=   (log(y))/3  
  所以   x=   exp((log(y))/3)    
  所以以下代码:  
  Function   cube(ByVal   p   As   Double)   As   Double  
            cube   =   Exp(Log(p)   /   3)  
  End   Function  
   
  Top

4 楼AprilSong(X)回复于 2004-12-01 22:14:35 得分 30

没这么麻烦吧……   -   -b  
   
  8开3次方就是这样啊~  
  N   =   8   ^   (1   /   3)  
   
  MSDN~  
  ==============================  
  ^运算符              
   
  用来求一个数字的某次方,次方数为   exponent   值。  
   
  语法  
   
  result   =   number^exponent  
   
  ^   运算符的语法具有以下几个部分:  
   
  部分   描述    
  result   必需的;任何数值变量。    
  number   必需的;任何数值表达式。    
  exponent   必需的;任何数值表达式。    
   
   
  说明  
   
  只有当   exponent   为整数值时,number   才可以为负数。在表达式中执行多个指数运算时,^   运算符的计算顺序从左到右。  
   
  result   的数据类型通常是   Double   或包含   Double   的   Variant。但是,如果   number   或   exponent   中有一个是   Null   表达式,则   result   也是   Null。Top

5 楼leihr(秋风)回复于 2004-12-01 22:35:43 得分 0

谢了,现在就结贴!我刚才试了一下,AprilSong(X)   说的不错!多谢aohan(景升)、AprilSong(X)两位仁兄!Top

相关问题

  • VB程序如何使用“打开方式”获得文件内容?
  • 如何在VB中以一个文件的默认打开方式或是指定方式打开他~
  • 如何在VB获取文件关联“打开方式”时的文件的名称路径?
  • 如何修改文件打开方式?
  • C#中的开方函数是如何?
  • 如何调用“打开方式”对话框
  • 如何改变文件默认的打开方式!
  • 如何显示“打开方式”对话框?
  • 如何调用系统的〈打开方式〉对话框?
  • 如何把.udl改回默认的打开方式?

关键词

  • xk
  • xknext
  • currentwc
  • doubledim
  • wucha
  • abs
  • as double
  • 次方
  • function

得分解答快速导航

  • 帖主:leihr
  • aohan
  • AprilSong

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo