![]() |
跪求牛人指点一个关于矩阵的问题
程序如下,我要用新计算出的矩阵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 [SIZE="5"][SIZE="7"]i=3Un(1)-Un(2)-2Un(3); [/SIZE][/SIZE]%此时非线性电阻两端电流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; |
补充一下,是加大部分的Un(1)划红线:ft:
|
所有时间均为北京时间。现在的时间是 05:02。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.