کلیدستان

نسخه‌ی کامل: ایجاد بلوک سیمولینک از ام فایل
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام،
چه طور می شود یک ام فایل را به یک بلوک در سیمولینک تبدیل کرد؟
کد زیر بخشی از برنامه ای است که رابطه ولتاژ و جریان را در پنل خورشیدی مدل می کند.این رابطه صورت( I=f(V,I است ،سایر پارامترها ثابت هستند.
آیا می توان این ام فایل را به یک بلوک در فضای سیمولینک تبدیل کرد که دارای دو پایه خروجی باشد و مانند خروجی یک باتری به آن مقاومت یا هر عنصر دیگری وصل کرد(یعنی پایه مثبت و منفی).


کد:
V = 0:0.1:25;% Voltage vector
I = zeros(1,length(V));

for j = 1 : length(V) %Calculates for all voltage values

% Solves g = I - f(I,V) = 0 with Newntonn-Raphson

g(j) = Ipv-Io1*(exp((V(j)+I(j)*Rs)/Vt/Ns/a1)-1)-Io2*(exp((V(j)+I(j)*Rs)/Vt/Ns/a2)-1)-(V(j)+I(j)*Rs)/Rp-I(j);

while (abs(g(j)) > 0.00001)

g(j) = Ipv-Io1*(exp((V(j)+I(j)*Rs)/Vt/Ns/a1)-1)-Io2*(exp((V(j)+I(j)*Rs)/Vt/Ns/a2)-1)-(V(j)+I(j)*Rs)/Rp-I(j);
glin(j) = -Io1*Rs/Vt/Ns/a1*exp((V(j)+I(j)*Rs)/Vt/Ns/a1)-Io2*Rs/Vt/Ns/a2*exp((V(j)+I(j)*Rs)/Vt/Ns/a2)-Rs/Rp-1;
I_(j) = I(j) - g(j)/glin(j);
I(j) = I_(j);

end

end % for j = 1 : size(V,2)

با تشکر
 
سلام.
بلوک  User-Defined Functions و بلوک MATLAB Function در سیمولینک متلب را بررسی کنید.