Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-05-27
年龄: 39
帖子: 3
声望力: 0 ![]() |
![]()
程序如下,我要用新计算出的矩阵Un里面的一个元素Un(1)来列方程,但是。。。痛苦啊,毕设要来不及了,这是我的第一个程序,研究5天了,还没结果,求高手指点一下,万分感谢啊!!!
function nonlinearcircuits1 global R1 R2 R3 R4 Us R5 v i R1=1; R2=0.5; R3=0.5; R4=1;Us=1;%电路中元器件的参数数值 R5=input('R5'); %输入R5的初始试探指 disp('The initial guess R5 is'); j=0; while(j<100) %开始循环,用节点电压矩阵计算在R5的某一试探电阻下个节点电压和电流 Un=jdjz(R5); %执行子程序节点电压矩阵的计算 v=Us-Un(1); %此时非线性电阻两端电压v i=3Un(1)-Un(2)-2Un(3); %此时非线性电阻两端电流i f=i^3*R5^3-i; %非线性电阻的特性函数 if(f<1e-4) %执行条件语句, disp('The final R5 is','R5'); %当修正电阻R5满足要求:输出R5 break; else %否则继续用牛拉法修正R5 R50=R5; f1=i^3*R50^3-i; f2=3i^3*R50^2; R5=R50-f1/f2; j=j+1; end; end; function Un=jdjz(R5) %子程序节点电压矩阵 Yn*Un=In y11=1/R1+1/R2+1/R5; y12=-1/R1; y13=-1/R2; y21=-1/R1; y22=1/R1+1/R3; y23=0; y31=-1/R2; y32=0; y33=1/R2+1/R4;%以上设置导纳矩阵Yn的元素 Yn=[y11,y12,y13;y21,y22,y23;y31,y32,y33]; In=[1/R5*Us;-1;1]; Un=Yn\In; |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-05-27
年龄: 39
帖子: 3
声望力: 0 ![]() |
![]()
补充一下,是加大部分的Un(1)划红线:ft:
|
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[求助]关于命令distspec(trellis,n) | coffietree | MATLAB论坛 | 1 | 2008-06-13 20:21 |
怎么使图像拼贴 | 微笑的鱼 | MATLAB论坛 | 0 | 2008-06-13 09:42 |
[求助]网格线怎么设置? | achao | MATLAB论坛 | 2 | 2008-06-05 08:02 |
【文章】仿真动画软件设计作品--电路开闭 | yesman | MATLAB论坛 | 0 | 2007-12-11 16:21 |
【求助】matlab load 的奇怪问题 | dnping | MATLAB论坛 | 1 | 2007-07-26 11:34 |