سوالات خود را در مورد برنامه متلب در این تاپیک بنویسید در اسرع وقت پاسخ میدم

ra1372

عضو جدید
کاربر ممتاز
این سوال تو دیگسایلنت یا psse خیلی راحت حل میشه
یه اوزش ساده که تو نت بگیری خیلی راحت میتونی بکشیش

اخه گفته شد فقط با PSCAD/EMTDC یا MATLAB/SIMULINK ترسیم شد.نمیدونم برنامه که گفتید چیه؟ممکنه اگه بلدید با متلب توضیج دهید از کدوم کتابخونه المانها رو بیارم و ولتاژ های اسلک رو حساب کنم؟

ممنون میشم کمک کنید
 

ra1372

عضو جدید
کاربر ممتاز
اخه گفته شد فقط با PSCAD/EMTDC یا MATLAB/SIMULINK ترسیم شد.نمیدونم برنامه که گفتید چیه؟ممکنه اگه بلدید با متلب توضیج دهید از کدوم کتابخونه المانها رو بیارم و ولتاژ های اسلک رو حساب کنم؟

ممنون میشم کمک کنید

یعنی هیشکی بلد نیستش:(
 

رضاافشاری

عضو جدید
آقا یکی خواهشا کمک کنه.

کسی میدونه چطوری باید کد یک معادله دیفرانسیلی رو نوشت؟ منظورم کدنویسی کاملش هست. من بلدم مثلا با استفاده از ode45 بدست بیارم ولی به من گفتن بدون استفاده از توابع matlab .
معادله هم اینطوریه
dz/dt+b/c*x= b*x(t
که b,c ثابتن و همچنین
f=x+by
y=x-z

از من خواستن نمودار f نسبت به x رو بکشم وقتی
x= 0.001 sin ( 20 *pi*t هستش.

هرکی نظری داره ممنون میشم کمک کنه.واجبه برام
 

رضاافشاری

عضو جدید
یه سوال دیگه:

ببینید، کد اولی کار میکنه:
function
function [xvalues, yvalues] = eulerss(f,x0,xn,y0,n)
%EULER: MATLAB function M-file that solve the
%ODE y’=f, y(x0)=y0 on [x0,y0] using a partition
%with n equally spaced subintervals
dx = (xn-x0)/n;
x(1) = x0;
y(1) = y0;
for k=1:n
x(k+1)=x(k) + dx;
y(k+1)= y(k) + f(x(k),y(k))*dx;
end
xvalues = x';
yvalues = y';

اجرایی
f=inline('sin(x*y)')
[x,y]=eulerss(f,0,1,pi,10)
plot(x,y)

ولی دومی کار نمیکنه!
function [tvalues, zvalues] = eulers(F,t0,tn,z0,n)
%EULER: MATLAB function M-file that solve the
%ODE z'=F, z(t0)=0 on [t0,z0] using a partition
%with n equally spaced subintervals
dt=(tn-t0)/n;
t(1)=t0;
z(1)=z0;
for k=1:n
t(k+1)=t(k)+dt;
z(k+1)=z(k)+F(t(k),z(k))*dt;
end
tvalues=t
zvalues=z

اجرایی
clc
clear all
a=1;
b=1;
c=0.1;
x=0.001;
F=inline('(b/c)*(x-z)')
[t,z]=eulers(F,0,1,0,10)
plot(t,z)

میشه کسی راهنمایی کنه؟
 

Pro.Eng

متخصص plc
کاربر ممتاز
آقا یکی خواهشا کمک کنه.

کسی میدونه چطوری باید کد یک معادله دیفرانسیلی رو نوشت؟ منظورم کدنویسی کاملش هست. من بلدم مثلا با استفاده از ode45 بدست بیارم ولی به من گفتن بدون استفاده از توابع matlab .
معادله هم اینطوریه
dz/dt+b/c*x= b*x(t
که b,c ثابتن و همچنین
f=x+by
y=x-z

از من خواستن نمودار f نسبت به x رو بکشم وقتی
x= 0.001 sin ( 20 *pi*t هستش.

هرکی نظری داره ممنون میشم کمک کنه.واجبه برام

سلام.
یه راه سادش اینه که شما میتونید معادله رو روی کاغذ حل کنید و بعد جوابی که برای f بدست میارید رو برحسب x رسم کنید. ( اگر صرفاً رسم مهم هستش )
ولی اگر حل معادله توسط متلب اهمیت داره باید توسط روش های حل معادله موجود در متلب اون رو حل بکنید و به دنبال اون بعد از به دست آوردن جواب توی همون کدی که نوشتید تابع f رو رسم کنید.
 

Pro.Eng

متخصص plc
کاربر ممتاز
یعنی هیشکی بلد نیستش:(

سلام. فکر کنم باید از کتابخانه های simpowersystems و simscape استفاده کنید. البته کار با سیمولینک خیلی هم سخت نیست. یه ذره با کتابخانه های اون آشنا بشید سریع میتونید مدارتون رو ببندید و شبیه سازی کنید.
 

رضاافشاری

عضو جدید
ممنون از دوستان

یه سوال دیگه؟

چطور میشه مثلا y(t رو بر حسب x (t رسم کرد؟

یعنی هم y , هم x تابعی از زمان هست میخوام به صورت دو بعدی رسم کنم.البته مساله اینطور خواسته ولی فکر کنم 3 بعدی هم بشه.
 

Pro.Eng

متخصص plc
کاربر ممتاز
ممنون از دوستان

یه سوال دیگه؟

چطور میشه مثلا y(t رو بر حسب x (t رسم کرد؟

یعنی هم y , هم x تابعی از زمان هست میخوام به صورت دو بعدی رسم کنم.البته مساله اینطور خواسته ولی فکر کنم 3 بعدی هم بشه.

برای رسم شکل موج ، متلب توضیحات خوبی در help خودش داره. به نظرم رجوع کنید به help متلب و توابعی نظیر plot و ... آشنا بشید.
 

ronak25

عضو جدید
سلام - وقت بخیر - دوستان من زمان زیادی برا اتمام پایان نامه م نمونده - خواهش میکنم اگر کسی میتونه و وقتشو داره که در مورد برنامه ی متلب و الگوزیتم نویسی کمکم کنه ممنون میشم - خیلی نیاز دارم
 

challenger_69

عضو جدید
سلام
من میخوام در سیمولینک متلب از بلوک Embedded Matlab Function استفاده کنم. همونطوری که در شکل هم نشون داده شده داخل بلوک یک تابع بسیار ساده استفاده شده که پیشفرض خود بلوک هست و من تغییری درش ندادم. یک مقدار ثابت به ورودی این بلوک داده شده که با توجه به برنامه نوشته شده در بلوک Embedded Matlab Function انتظار میره دقیقاً همین مقدار در scope نمایش داده بشه...اما وقتی میخوام شبیه سازی رو اجرا کنم خطا میده که در عکس نشون داده شده و میگه کامپایلر unknown هست و ....
کسی میدونه برای رفع این کشکل چیکار کنم؟
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
a simple example

a simple example

ممنون از دوستان

یه سوال دیگه؟

چطور میشه مثلا y(t رو بر حسب x (t رسم کرد؟

یعنی هم y , هم x تابعی از زمان هست میخوام به صورت دو بعدی رسم کنم.البته مساله اینطور خواسته ولی فکر کنم 3 بعدی هم بشه.

یه مثال ساده:

کد:
t = linspace(0, 2*pi, 50);
x = 2*cos(t);
y = 3*sin(t) - 1;
plot(x, y)
axis('equal')
 

mitra*

کاربر بیش فعال
کاربر ممتاز
سلام
میشه خواهش کنم تو شبیه سازی با سیمولینگ این دو جمله بهم کمک کنین؟
Untitled.jpgUntitled1.jpg
 

مهرناز*

عضو جدید
با سلام
دوستان چطوری میتونم تابع توزیع نرمال برای دو عدد رو تو متلب رسم کنم؟ و یه سری اعداد تصادفی برای این تابع توزیع رو تولید کنم؟ من تا حالا با متلب کار نکردم بی زحمت با جزئیات برام توضیح بدید.
خیلی ممنونم.
 

nazliii

مدیر مهندسی برق مخابرات - متخصص نیمه هادی
با سلام
دوستان چطوری میتونم تابع توزیع نرمال برای دو عدد رو تو متلب رسم کنم؟ و یه سری اعداد تصادفی برای این تابع توزیع رو تولید کنم؟ من تا حالا با متلب کار نکردم بی زحمت با جزئیات برام توضیح بدید.
خیلی ممنونم.


دستور normplot در متلب، برای رسم احتمال نرمال (Normal Probability) به کار می رود. از نمودار احتمال نرمال (Normal Probability)، می توانیم متوجه شویم که آیا یک مجموعه اطلاعات، دارای توزیع نرمال (normal distribution) می باشد یا خیر. به مثال زیر توجه کنید : [h=4]مثال :[/h]
clear all
close all
clc

x=normrnd(10,1,25,1);
normplot(x)


دقت شود که دستور normrnd در متلب، برای تولید اعداد تصادفی که دارای احتمال نرمال باشند به کار می رود. در واقع دستور normrnd(mu,sigma,m,n) ، یک ماتریس m در n (دارای m ردیف و n ستون) می سازد که دارای اعداد تصادفی با احتمال نرمال باشد. mu برابر پارامتر میانگین اعداد و sigma برابر پارامتر انحراف معیار (Standard Deviation) می باشد.
 

rahada

عضو
سلام دوستان

می خوام نمودار میله ای درصد رو رسم کنم. ولی چون درصد کمه مثلآ 1.5% , محور عمود رو فقط تا 2 نشون میده . چیکار کنم محور عمود تا 100 بشه؟
محور افقی هم اینجا مهم نیس دیگه؟
 

Unknown_S

متخصص سیستم های قدرت
کاربر ممتاز
سلام دوستان

می خوام نمودار میله ای درصد رو رسم کنم. ولی چون درصد کمه مثلآ 1.5% , محور عمود رو فقط تا 2 نشون میده . چیکار کنم محور عمود تا 100 بشه؟
محور افقی هم اینجا مهم نیس دیگه؟
در Figure مورد نظر در قسمت بالایی روی edit که به شکل ماوس هست کلیک کنید. سپس روی نمودار کلیک کنید تا منوی ادیت باز بشه. بعد تب های ایکس و وای و زد مشخص میشه که میتونید وای رو انتخاب کرده و مینیمم و ماکزیمم رو براش انتخاب کنید.

موفق باشید
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
سلام دوستان

می خوام نمودار میله ای درصد رو رسم کنم. ولی چون درصد کمه مثلآ 1.5% , محور عمود رو فقط تا 2 نشون میده . چیکار کنم محور عمود تا 100 بشه؟
محور افقی هم اینجا مهم نیس دیگه؟

دستور زیر رو به بعد از کشیدن نمودار توی برنامه ات اضافه کن:

کد:
v = axis; axis([v(1:3), 100])
 

NEW MOHAMMAD

کاربر بیش فعال
کاربر ممتاز
سلام
من یه سیستم 4 باسه دارم که میخوام تو متلب ماتریس های Y BUS و G BUS و B BUS رو براش تشکیل بدم.
درایه های ماتریس Y BUS رو نوشتم
فقط دستورات نمایش G BUS و B BUS و Y BUS رو فراموش کردم.
 
آخرین ویرایش:

NEW MOHAMMAD

کاربر بیش فعال
کاربر ممتاز
سلام
من یه سیستم 4 باسه دارم که میخوام تو متلب ماتریس های Y BUS و G BUS و B BUS رو براش تشکیل بدم.
درایه های ماتریس Y BUS رو نوشتم
فقط دستورات نمایش G BUS و B BUS و Y BUS رو فراموش کردم.
دستوراتش رو یادم اومد :D
برای نمایش ماتریس ادمیتانس(Y BUS) دستور disp
برای نمایش ماتریس کنداکتانس (G BUS) دستور real
برای نمایش ماتریس سوسپتانس(G BUS) دستور imag
تو اسکرین شات معلومه

[URL=http://8pic.ir/viewer.php?file=ws03r0magbb61r51dwfc.png]
[/URL]
 

NEW MOHAMMAD

کاربر بیش فعال
کاربر ممتاز
سلام
یه آزمایش مربوط به کنترل خطی رو باید شبیه سازی کنم تو متلب با سیمولینک
چندتا سوال دارم
تو عکس پرسیدم
ممنون اگه بلدید راهنمایی کنید.



Sent from my SM-N910C using Tapatalk
 

mitra*

کاربر بیش فعال
کاربر ممتاز
سلام به همگی، بچه ها کسی میتونه کمکم کنه؟!
من یه مسئله LMI دارم ولی بلد نیستم توی متلب حل کنم .یعنی کلا LMI بلد نیستم اخه واحدشو پاس نکردم :(
بچه ها میشه لطفا کمکم کنین بگین چطوری میتونم حلش کنم؟
LMI.jpg
 
آخرین ویرایش:

mohammadsunlight

عضو جدید
سلام دوستان

یه سؤال

بنده یه ماتریس سه بعدی( T(n, ii, jj تعریف کرده ام

حالا میخوام در یک n مشخص، مثلا n = 50, نمودار (T(ii, jj رو داشته باشم

یعنی احتمالا باید ماتریس سه بعدی رو به ماتریس دو بعدی تبدیل کنم

نمیدونم شایدم باید کار دیگه انجام بدم

میشه لطفا راهنماییم کنید؟
:gol:

ممنون
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
سلام دوستان

یه سؤال

بنده یه ماتریس سه بعدی( T(n, ii, jj تعریف کرده ام

حالا میخوام در یک n مشخص، مثلا n = 50, نمودار (T(ii, jj رو داشته باشم

یعنی احتمالا باید ماتریس سه بعدی رو به ماتریس دو بعدی تبدیل کنم

نمیدونم شایدم باید کار دیگه انجام بدم

میشه لطفا راهنماییم کنید؟
:gol:

ممنون

شما در حقیقت به ازای هر n یک ماتریس دوبعدی دارید. اگه n رو به جای بعد اول در بعد سوم به کا ببرید، متوجه میشید چی میگم.
حالا با اون ماتریس دو بعدی هر کاری که بخواید می تونید انجام بدید. فقط قبلش باید دقیقاً بدونید منظورتون از نمودار تغییرات چی نسبت به چی هست، تا بتونید بکشیدش.
 

sinners_silent

عضو جدید
سلام .دوستان کسی میتونه راهنمایی کنه :)
نولید ppm و اشکار سازی ان.
کل سوالی که داده استاد همینه.
ppm=pulse position modolation
مخابرات 2
با تشکر :)
 
بالا