date : 2013/8/12           desinger :pengxiaoen

今天看  国外电子信息科学经典教材系列   《电子电路分析与设计》 电子工业出版社的 的19页。看到里面的 求二极管的电流电压公式

Vps = Vd  +  Id * R

= IsR【e ^(Vd/(n *Vt))   -  1】   + Vd

其中反向饱和电流  Is 为常量数值在10^-15   ~  10^-13之间  ,取 10 ^-13A

Vt 为热力学电压 ,室温下 V = 0.026V

n为理想因素 ,1<= n <=2  .取值 1

在Vps = 5v 情况下   R = 2kΩ    如图   求出Vd  。因为是超越方程。所以可以用C 语言  采用 二分法  求解

程序中精度控制在 0.001 。就是允许有0.001 的误差。

常量   e=2.7182818

 # include "stdio.h"
# include "math.h" #define E 2.7182818
#define Vps 5
#define Vt 0.026
#define Is 1e-13
#define R 2e3
#define precision 0.001 int main ()
{
float Vd ;
float y ;
float temp= ;
float updata=Vps ;
float downdata = ; Vd= Vps /2.0;
while (temp > precision)
// if (temp > precision)
{
y = Vd / Vt;
temp = Is * R * ( pow (E , y)-) + Vd ;
temp = Vps - temp ; if (temp < )
{
updata = Vd;
Vd = Vd - (updata -downdata)/;
}
else
{
downdata = Vd;
Vd = Vd + (updata - downdata)/;
} temp = fabs (temp); } printf ("Vd = %.16lf\n",Vd);
system ("pause");
}

if   else 中决定了 下一次 进入运算的Vd. 最后打印出的数据要求小数点后16位

C语言迭代求解的更多相关文章

  1. C语言 迭代部分的代码编写

    C语言代码学习 迭代部分 迭代要用到函数部分的知识,一开始我写了计算n!的计算,代码和运行结果如下: 结果只能单一的计算出整数内的值,如果输入负值则结果为返回值1,显然是不对的,根据查书学习以后,知道 ...

  2. Binary Tree Preorder Traversal——经典算法的迭代求解(前序,中序,后序都在这里了)

    先序遍历,用递归来做,简单的不能再简单了.代码如下: (以下仅实现了先序遍历,中序遍历类似,后序遍历和这两个思路不一样,具体详见Binary Tree Postorder Traversal) /** ...

  3. cuda并行编程之求解ConjugateGradient(共轭梯度迭代)丢失dll解决方式

    在进行图像处理过程中,我们常常会用到梯度迭代求解大型线性方程组.今天在用cuda对神秘矩阵进行求解的时候.出现了缺少dll的情况: 报错例如以下图: watermark/2/text/aHR0cDov ...

  4. 递归转手工栈处理的一般式[C语言]

    是任意形式的递归,是化解的一般式. 主题所谓的“递归调用化解为栈处理”,意思是,将递归函数调用化解为“一个由stack_push stack_pop stack_top等函数调用组成的循环式子”.这里 ...

  5. 文本主题模型之LDA(三) LDA求解之变分推断EM算法

    文本主题模型之LDA(一) LDA基础 文本主题模型之LDA(二) LDA求解之Gibbs采样算法 文本主题模型之LDA(三) LDA求解之变分推断EM算法 本文是LDA主题模型的第三篇,读这一篇之前 ...

  6. logistic逻辑回归公式推导及R语言实现

    Logistic逻辑回归 Logistic逻辑回归模型 线性回归模型简单,对于一些线性可分的场景还是简单易用的.Logistic逻辑回归也可以看成线性回归的变种,虽然名字带回归二字但实际上他主要用来二 ...

  7. 采用梯度下降优化器(Gradient Descent optimizer)结合禁忌搜索(Tabu Search)求解矩阵的全部特征值和特征向量

    [前言] 对于矩阵(Matrix)的特征值(Eigens)求解,采用数值分析(Number Analysis)的方法有一些,我熟知的是针对实对称矩阵(Real Symmetric Matrix)的特征 ...

  8. 模拟退火算法SA原理及python、java、php、c++语言代码实现TSP旅行商问题,智能优化算法,随机寻优算法,全局最短路径

    模拟退火算法SA原理及python.java.php.c++语言代码实现TSP旅行商问题,智能优化算法,随机寻优算法,全局最短路径 模拟退火算法(Simulated Annealing,SA)最早的思 ...

  9. 【原创】开源Math.NET基础数学类库使用(06)直接求解线性方程组

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...

随机推荐

  1. Sql Service存储过程分页

    一起是用oracle数据库..感觉oracle数据库强大.查询速度是杠杠的.换了家公司用的是SQL SERVICE.以前用了1年现在捡回以前的记忆.动手写了动态SQL过存储过程分页.感觉和oracle ...

  2. EBS R12 修改 apps 密码[Z]

    注意:修改密码时应保证所有用户已退出, 最好是关闭应用实例.不用关闭数据库.在修改密码之前一定要改备下数据库中的FND_ORACLE_USERID和FND_USER表.FNDCPASS工具会自动把AP ...

  3. 关于su和su -的区别

    关于su和su -的区别,切换用户是可以使用su tom或者su - tom来实现,但是两者有区别,su只是切换身份,但shell环境仍然是原用户的shell,su -是连用户的shell环境一起切换 ...

  4. python递归函数下不能正常使用yield

    # -*- coding:utf-8 -*- import os import time file_list = [] def findFile(path): listFile = os.listdi ...

  5. 自定义构造、description方法、SEL

    [Objective-C]07-自定义构造方法和description方法   // 构造方法:用来初始化对象的方法,是个对象方法,”-"开头// 重写构造方法的目的:为了让对象创建出来,成 ...

  6. Asp.net MVC学习

    一.mvc项目的创建并运行 1.启动vs2010 2.新建项目 3.选择Asp.net mvc应用程序 4.不创建测试用例 5.创建之后的效果 6.运行后的mvc程序

  7. SQL Server 的三种用户自定义函数

    create function fun_A()   #标题函数.create function fun_name() returns output_type as begin return value ...

  8. SQL Server 一些重要视图4

    sys.master_files 为每一个数据库的每一个文件返回行.

  9. Office 2010简体中文正式版完美终身破解版免费下载

    名称:Microsoft Office Professional 2010 正式版(JK破解免序列号安装版) Microsoft Office 2010 专业版 优点:用官方Microsoft off ...

  10. cygwin在Windows8.1中设置ssh的问题解决

    为了在Windows 8.1上直接使用Linux环境和hadoop开发,装了cygwin,同时设置ssh无密码登录.   但正常ssh-keygen后复制到authorised_keys后登录出现提示 ...