انجمن سایت کلیدستان



ایجاد بلوک سیمولینک از ام فایلزمان کنونی: ۱۳۹۵/۰۹/۱۹، ۰۹:۴۷ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: mvedadim
آخرین ارسال: admin
پاسخ 2
بازدید 1120

رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایجاد بلوک سیمولینک از ام فایل

ایجاد بلوک سیمولینک از ام فایل

#1
سلام،
چه طور می شود یک ام فایل را به یک بلوک در سیمولینک تبدیل کرد؟
کد زیر بخشی از برنامه ای است که رابطه ولتاژ و جریان را در پنل خورشیدی مدل می کند.این رابطه صورت( 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)

با تشکر
 
پاسخ

ایجاد بلوک سیمولینک از ام فایل

#2
سلام.
بلوک  User-Defined Functions و بلوک MATLAB Function در سیمولینک متلب را بررسی کنید.
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط mvedadim


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)