پرسش و پاسخ

هر سوالی دارید در مورد MATLAB از ما بپرسید

ما در کمتر از 24 ساعت به شما پاسخ می دهیم

اگر سوالتون نیاز به بررسی بیشتر دارد و عجله دارید، می توانید از طریق زیر با مهندس قیصری در تماس باشید. 

95 دیدگاه دربارهٔ «پرسش و پاسخ»

  1. با سلام
    سوالم اینه که اگه یه کدی نوشته بشه که از خود کد آماده ای که تو متلب هست نتیجه بهتری بده آیا میشه اونو به عنوان یه مقاله در ieee و یا جای دیگه ارایه داد ؟
    اصلا یه همچین ساز و کاری وجود داره ؟
    اگه جواب مثبته میشه راهنمایی کنین/
    ممنون

    1. سلام بله
      اصولا در مقالات معتبر از تابع های آماده متلب کمتر استفاده می شود و خودشون الگوریتم های جدیدی می نویسند و مقاله باهاش انتشار می دهند.
      برای انتشار مقاله در IEEE نیاز است که خوب روش های قبلی موضوع مورد نظرتون بخونید و سپس شروع کنید به ایده دادن و تست کنید تا ببینید کدام بهتر هست و ریاضیات معتبری داشته باشد.

      1. مسلم ممبینی راد

        سلام. در محیط سیمولینک از بلوک fcn استفاده کرده ام و اونجا کد نویسی میکنم. میخاستم در محیط fcn یک متغییر اندیس دار تعریف کنم. مثلا متغییر Ak که در آن اندیس k عددی است که از ۱ شروع میشود تا عددی دلخواه دیگر. ممنون میشم روش تعریف این متغییر اندیس دار در محیطfcn را توضیح دهید. تشکر.

  2. میخواستم فایل متنی که حاوی مقادیر زیر است خوانده شده ودر یک ماتریس بریزد. و بجای درایه هایی که موجود نیست صفر قرار دهد.
    1 2 3 4
    2 1 5
    2
    3 1
    1 2 3 4 5

    1. شما می توانید از دو روش استفاده کنید :

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

  3. سلام.چطور می تونیم تابعی به صورت زیر تعریف کنیم که هم اندیس های دنباله رو داشته باشع هم متغیر ها رو؟
    بقیه جملاتUn+1(x,t ) =Un(x,t )+f

  4. سلام.من یه شبیه سازی در متلب انجام دادم که داخلش کدنویسی متلب داره.وقتی میخوام برنامه را اجرا کنم چندتا پیغام اینجوری میده.
    Global declaration not resolved to a Data Store Memory block registered via the Ports and Data Manager.

    Function ‘mpc-maghale/MATLAB Function1’ (#40.190.192), line 6, column 1:
    “Ts”
    Launch diagnostic report.
    (این یکی از پیغام هاشه در مورد متغیر Ts )که همین پیغام را برای متغیر های دیگم میده.لازم به ذکر است که ابتدای کدنویسی من این متغیرها را با دستور global تعریف کرده ام ولی نمی دونم چرا این پیغام را میده

    1. سلام
      شما یک متغییر مربوط به پورت ها یا data manager استفاده کردید و نوع آنرا global گرفتید که باعث مشکل شده است.

  5. سلام، من خیلی وقته درگیر حل این مسئله هستم که چطور میشه در متلب درصد تخلخل سطوح (triply periodic minimal surfaces ) را حساب کرد.
    پیشاپش سپاسگزارم

  6. محمد کراقلی

    سلام
    من با استفاده از تولباکس شبکه عصبی متلب، یک شبکه آموزش دیده رو میسازم
    ولی چجور از این شبکه آموزش دیده برای پیش بینی سری زمانی استفاده کنم؟

  7. سلام و عرض ادب ببخشید من چندتا عدد دارم مثلا ۱,2,3,5میخوام اینارو به صورت بازه ای از هم کم کنم مثلا 1رو از2 بعد 3رو از2و الی آخر بعد اونارو تو یه ماتریس با اسم خاصی ذخیره کنم لطفا کمکم کنین

  8. function koli
    clear all;
    close all;
    clc
    deg = pi/180;
    g0 = 9.81;
    Re = 6378e3;
    hscale = 7.5e3;
    rho0 = 1.225;
    diam = 196.85/12 …
    *0.3048 ;
    A = pi/4*(diam)^2;
    CD = 0.5;
    m0 = 84945.4 ;
    hturn = 70;

    gamma0 = 89.85*deg;
    x0 = 0;
    h0 = 0;
    v0 = 0 ;
    vD0 = 0;
    vG0 = 0;
    Thrust1 = 480000 ;
    Thrust2 = 380000 ;
    Thrust3 = 500000 ; %~~~~~~~~
    Isp1 = 227.82 ;
    Isp2 = 243.42 ;
    Isp3 = 289 ;
    t01 = 0 ;
    tf1 = 99.12 ;
    t02 = tf1+1 ;
    tf2 = t02+70.68 ;
    t03 = tf2+1 ;
    tf3 = t03+100 ; %~~~~~~~~~~~~~~~~~
    tspan = [t01,tf3] ;
    m_dot1 = Thrust1/Isp1/g0 ;
    m_dot2 = Thrust2/Isp2/g0 ;
    m_dot3 = Thrust3/Isp3/g0 ;
    f0 = [v0; gamma0; x0; h0; vD0; vG0];
    [t,f] = rkf45(@rates, tspan, f0);
    v = f(:,1)*1.e-3;
    gamma = f(:,2)/deg;
    x = f(:,3)*1.e-3;
    h = f(:,4)*1.e-3;
    vD = -f(:,5)*1.e-3;
    vG = -f(:,6)*1.e-3;
    for i = 1:length(t)
    Rho = rho0 * exp(-h(i)*1000/hscale);
    q(i) = 1/2*Rho*v(i)^2;
    end
    output
    return
    function dydt = rates(t,y)
    dfdt = zeros(6,1);
    v = y(1);
    gamma = y(2);
    x = y(3);
    h = y(4);
    vD = y(5);
    vG = y(6);

    if t < tf1
    m = m0 – m_dot1*t ;
    T = Thrust1 ;
    else
    if tf1 < t < tf2
    m = m0 – m_dot2*t ;
    T = Thrust2 ;
    else
    if tf2 < t < tf3
    m = m0 – m_dot3*t ;
    T = Thrust3 ;
    end

    g = g0/(1 + h/Re)^2;
    rho = rho0 * exp(-h/hscale);
    D = 1/2 * rho*v^2 * A * CD;
    v_dot = T/m – D/m – g*sin(gamma);

    if h <= hturn
    gamma_dot = 0;
    v_dot = T/m – D/m – g;
    x_dot = 0;
    h_dot = v;
    vG_dot = -g;
    else
    v_dot = T/m – D/m – g*sin(gamma);
    gamma_dot = -1/v*(g – v^2/(Re + h))*cos(gamma);
    x_dot = Re/(Re + h)*v*cos(gamma);
    h_dot = v*sin(gamma);
    vG_dot = -g*sin(gamma);
    end
    vD_dot = -D/m;

    dydt(1) = v_dot;
    dydt(2) = gamma_dot;
    dydt(3) = x_dot;
    dydt(4) = h_dot;
    dydt(5) = vD_dot;
    dydt(6) = vG_dot;
    end
    end
    end
    function output
    fprintf('\n\n ———————————–\n')
    fprintf('\n Initial flight path angle = %10g deg ',gamma0/deg)
    fprintf('\n Pitchover altitude = %10g m ',hturn)
    fprintf('\n Burn time = %10g s ',tburn)
    fprintf('\n Final speed ¼ %10g km/s',v(end))
    fprintf('\n Final flight path angle = %10g deg ',gamma(end))
    fprintf('\n Altitude = %10g km ',h(end))
    fprintf('\n Downrange distance = %10g km ',x(end))
    fprintf('\n Drag loss = %10g km/s',vD(end))
    fprintf('\n Gravity loss = %10g km/s',vG(end))
    fprintf('\n\n ———————————–\n')

    figure(1)
    plot(x, h)
    axis equal
    xlabel('Downrange Distance (km)')
    ylabel('Altitude (km)')
    axis([-inf, inf, 0, inf])
    grid

    figure(2)
    subplot(2,1,1)
    plot(h, v)
    xlabel('Altitude (km)')
    ylabel('Speed (km/s)')
    axis([-inf, inf, -inf, inf])
    grid

    subplot(2,1,2)
    plot(t, gamma)
    %plot(t,gamma_dot)
    xlabel('Time (s)')
    ylabel('Flight path angle (deg)')
    axis([-inf, inf, -inf, inf])
    grid

    figure(3)
    plot(h, q)
    xlabel('Altitude (km)')
    ylabel('Dynamic pressure (N/m^2)')
    axis([-inf, inf, -inf, inf])
    grid

    end %output
    end %Example_11_03

    من این کد رو نوشتم ولی تو حل معادلش ارور میده ، نمیدونم باید چیکارش کنم؟

  9. مهرشاد کاظمی

    با سلام و خسته نباشید
    لطفا به سوال من پاسخ دهید
    برنامه ای بنویسید که یک عدد را گرفته تعیین کند مضرب 3و5 است یا نه

  10. با سلام و عرض ادب
    یه سوال داشتم من کاربرد Tokens در Regular Expression نمیدونم. با جست و جو هم راستش معنی واقعیش و مفهوم و کاربردش متوجه نشدم خیلی ممنون میشم در موردش یه ذره توضیح بدید.
    با تشکر
    روشنی

    1. با سلام و احترام برای سوال خوبتون

      به قول معروف “بگفتی و کردی کبابم”

      Regular Expressions (RE)0 مبحث پیچ در پیچی هست که یادگیرش زمان زیادی می برد. من خودم در پایتون و متلب باهاش آشنایی دارم و بیشتر پایتون.

      اگر بخواهم یک ذره در موردش بگم. ما در RE رشته حرفی که دنبالش هستیم را به صورت یک سری keyword پشت سر هم می نویسیم.
      حالا
      یکی از علامت هایی که می توانیم در RE استفاده کنیم پرانتز می باشد. پرانتز ارتباط مستقیم با token دارد.

      بیشتر در مواقعی که بخواهید یک رشته حرفی را به طور جداگانه داشته باشیم از پرانتز یا همون توکن استفاده می کنیم

      مثال

      مثال

      اگر به اینجا نگاه کنید اطراف
      \w+
      پرانتر قرار داده است

      [mat,tok] = regexp(hstr, expr, 'match', 'tokens');

      رشته های حرفی پیدا شده

      mat{:}
      ans =

      ans

      ans =

      ans

      اینجا قسمتی که اطرافش پرانتز قرار داده است را استخراج کرده اما جداگانه

      tok{:}
      ans =

      1×1 cell array

      {‘a’}

      ans =

      1×1 cell array

      {‘b’}

  11. سلام برای رسم دو دایره که یکی در سمت چپ و دیگری در سمت راست باشه و قطر دایره ی سمت چپ از راستی کوچیک تر باشه باید از چه کدی استفاده کنم؟

    1. سلام
      خیلی سوال ساده ای هست کافی است از دستور circle استفاده کنید و نقطه شروع و شعاع را مشخص کنید.

  12. سلام در خصوص پردازش تصویر در متلب سوالی داشتم اینکه چطوریک ابجکت رنگی ، که پس زمینش سفید رنگه به مشکی تغییر بدیم؟

  13. باسلام خدمت دوستان اگه میشه درمورد این سوال کمکم کنید،یااگه میشه کد هاشو داخل متلبش رو برام بنویسید.
    برنامه ای تعداد برنج های توی تصویر رو بشماره وبعداین این عملیات رو انجام بده(روی اون تصویر rice.png که توی متلب هست)

    الف) بتوانند دانه های برنجی که شکسته ویا نیمه هستند(یعنی مساحتشان از یک مقداری کمتر است)را از تصویر جدا کنند و برنج های کامل باقی مانده را در صفحه بصورت رنگی با پس زمینه ی زرد بنمایش بگذارند.
    ب)در یک figure جداگانه بزرگترین و کوچکترین دانه ی برنج را بنمایش بگذارید.
    ج)در تصویر دانه های برنج آبجکت شماره ی 50 را بنمایش بگذارید.
    د)بکمک رسم نمودار هیستوگرام مشخص کنید عمده ی دانه های برنج چه مساحتی دارند.

  14. پرگل طباطبائی

    سلام وقت بخیر
    من میخواستم بردارَ [6 5 4 3 2 1] را به ماتریس زیر تبدیل کنم.چطور و با چه دستوری میتونم این کار رو در متلب انجام بدم؟

    ماتریس مورد نظر:

    a =

    3 2 1 0
    5 4 0 1
    6 0 4 2
    0 6 5 3

  15. سلام
    config file چی هستند و از کجا میتونم دنلود کنم ؟
    من یه کد دارم که حالا باید بجای تصاویر اون دوتا تصویر خودم رو تعریف کنم اما نمیدونم چطور تغییراتی ممکنه لازم داشته باشه و چطور از config file استفاده میشه ؟

    1. سلام
      متلب فایلی به نام config file ندارد. مگر شما در پروژه خود چنین فایلی داشته باشید که باید به source پروژه مراجعه کنید.

  16. سلام وقت بخیر
    در متلب ۲۰۱۵قسمت هلپ دستورknnclassify رو سرچ میکنم چیزی نمیاره میدونید علتش چیه؟

  17. سلام ، وقتتون بخير
    يه سوال داشتم مي خواستم مجوعه اي از عكس ها را به صورت خاكستري رنگ دربيارم .
    دستوري هست كه براي مجموعه اي از عكس هاي يك پوشه آن ها رو به صورت خاكستري در آورد ؟

    1. سلام
      شما باید ایتدا با دستورهایی مثل dir تمامی فایلهای پوشه یا پوشه هایی که عکس ها در آن قرار دارد را ایندکس کنید.
      سپس در یک حلقه تمامی آنها را بخوانید و با دستور rgb2gray به خاکستری تبدیل کنید.
      یک مثال از نحوه خواندن عکس های یک فولدر در آموزش پردازش تصویر در متلب هست.

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

  19. سلام. من کد زیر رو وقتی اجرا میکنم با خطای Index exceeds matrix dimensions مواجه میشم (خط شماره 11)
    function result = isKaprekarNumber2(number)
    result=0;

    lenOfNumber = length(num2str(number));
    numberArray = num2str(number);

    sqOfNumber = number.^2;
    sqNumberArray = num2str(sqOfNumber);

    sqHead== sqNumberArray(1:lenOfNumber);
    sqTail== sqNumberArray(lenOfNumber+1:lenOfNumber+lenOfNumber);

    sumOfHeadAndTail = str2num(sqNumberArray(1:lenOfNumber))+str2num(sqNumberArray(lenOfNumber+1:lenOfNumber+lenOfNumber));

    if isequal(number,sumOfHeadAndTail)
    result=1;
    end

    end
    مثلا برای عدد 2546.

    1. ایران متلب

      سلام

      خطای
      Index exceeds matrix dimensions

      موقعی اتفاق می افتد که شما خانه ای از ماتریس را اندیس دهی می کنید که در داخل این ماتریس قرار نداشته باشد.
      مثلا اگر ماتریس 2 سطر و 3 ستون داشته باشد و شما
      سطر 5 و 2 را بخوانید متلب خطای
      Index exceeds matrix dimensions
      را نمایش می دهد.

      شما می توانید از تیم مشاوران ایران متلب درخواست مشاوره و آموزش دهید.

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

    1. با سلام به بر و بچه های دانشگاه تهران

      چرا نشود؟ به سوال و جواب که کاربر rojin پرسید و جواب ما مراجعه کنید.

      البته سوال شما خیلی کلی است ولی به نظرم آرایه سلولی که مختص متلب است مشکل شما را حل کند.

      شما می توانید از تیم مشاوران ایران متلب درخواست مشاوره و آموزش دهید.

  21. سلام من میخوام کد pattern haftone بنویسم اما ارور میده می خوام یک پترن را به یک نقطه شدت روشنایی نگاشت کنم میشه بگین مشکل کدمو ممنونم
    clc
    clear ;
    close all;
    image=imread(‘lena.tif’);
    f=rgb2gray(image);
    f=im2double(f); % 0<f(x,y)<1
    f=255*f; % 0<f(x,y)<255
    [M,N]=size(f);
    g=zeros(M*3,N*3);
    % Definition Dot Pattern
    p1=zeros(3,3,10);
    p2(:,:,2)=[0,1,0;0,0,0;0,0,0];
    p3(:,:,3)=[0,1,0;0,0,0;0,0,1];
    p4(:,:,4)=[1,1,0;0,0,0;0,0,1];
    p5(:,:,5)=[1,1,0;0,0,0;1,0,1];
    p6(:,:,6)=[1,1,1;0,0,0;1,0,1];
    p7(:,:,7)=[1,1,1;0,0,1;1,0,1];
    p8(:,:,8)=[1,1,1;0,0,1;1,1,1];
    p9(:,:,9)=[1,1,1;1,0,1;1,1,1];
    p10(:,:,10)=[1,1,1;1,1,1;1,1,1];
    for m=1:M
    for n=1:N
    u=f(m,n);
    if (u==1)
    g(m,n)=p1;
    elseif (u==2)
    g(m,n)=p3;
    elseif (u==3)
    g(m,n)=p4;
    elseif (u==4)
    g(m,n)=p5;
    end
    end
    end
    subplot(1,2,1)
    imshow(f,[]); title('orginal image');
    subplot(1,2,2)
    imshow(uint8(g)); title('Image pattern');

  22. سلام وقت بخیر
    اگر بخوایم از دستور input استفاده کنیم و داخل ی چرخه بذاریم مثلا
    number=1:n+1
    for i=1:n+1
    f(i)=input(‘f(i):’)
    ولی بخوایم هر بار به جای اون f(i) برامون… f(1) f(2)f(3) بنویسه باید چیکار کنیم.

    1. سلام
      کافی است که f(i) را در یک آرایه بریزید و هر باز نمایش دهید محتوی این آرایه را

      اگر منظورتون اینه که در رشته حرفی چاپ می شود به کاربر به جای f(i) بنویسد f(1) f(2) …

      ابتدا قبل از حلقه، یک متغییر رشته یا حرفی خالی تعریف کنید مثلا msg
      سپس در برنامه
      ،
      msg1 = [‘f( num2str(i))]
      msg = [msg msg1]

      سپس msg را به عنوان ورودی input بدهید.

  23. من یه سوال مطلب دارم لطفا اگر ممکنه ایمیلتون را بدی خیلی مهمه
    نمیتونم اینجا فالش را اتچ کنم

  24. سلام خسته نباشید
    این کد ها رو دارم
    % ACTIVATE_AP(SPEED, HOST, PORT)
    %
    % Activate Autopilot in Flightgear over socket connection (HOST,
    % PORT) and set target speed = SPEED [mph].
    % Run Flightgear on HOST (e.g. ‘127.0.0.1’ = localhost) with
    % parameter “–props = PORT”.
    خواستم بپرسم چطوری باید سرعت و پورت رو وارد کنیم .
    باتشکر

    1. سلام و تشکر از شما
      شما کد متلبی را از سایت گرفتید
      توابع Matlab دسترسی به FlightGear را برای کنترل از راه دور مسیر هواپیما و ردیابی موقعیت آن

      شما باید با نویسنده کدها تماس بگیرید و سوالتون بپرسید.
      ارتباط بین هواپیما و متلب از طریق پورت HTTPS انجام می شود.

      در HTTPS پورت ها به صورت آی پی مثلا 172.06.15.4 می شوند.
      سرعت هم یک عدد مثلا 128 می تواند باشد.

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

      1. خیلی ممنون
        بله درسته ازین سایت استفاده کردم
        https://de.mathworks.com/matlabcentral/fileexchange/25047-flightgear-route-manager
        جسارتا در صورتیکه از متلب فانکشن داخل سیمولینک برای این فایل استفاده کنم ، برای دادن پورت از کدوم بلوک باید استفاده کنم؟(کنستانت و دیگر بلوک های مشابه به دلیل خوندن فقط یک دات نمیشه استفاده کرد)
        ممنون از زمانی که برای پاسخ دهی میگذارید

  25. سلام . من یک سیمولینک متلب دارم با ورژن 2016b نوشته شده . متلب خودم ورژن 2017b هست . وقتی با متلب خودم سیمولینک را اجرا میکنم مقادیر نمودار عوض میشود . یعنی مقادیر نقاط ماکزیمم و مینیمم یک عدد دیگه میشه .
    ایراد کار کجاست ؟

    1. سلام
      یکی از ایرادات متلب همین مشکلی هست که شما فرمودید. برنامه و مدل هایی که با نسخه های قبلی متلب تهیه شده اند در نسخه های بعدی ممکن است جواب ندهند. یکی از دلایل آن این است که متلب مدام در حال بهبود خود می باشد و گاهی توابعی را حذف و توابع جدیدی جایگزین می کند و شما یک کد متلب را باز می کنید و می بینید که در نسخه جدید خطا می دهد.
      راه حل :
      به تنظیمات متلب رفته و به بخش مدل بروید و تیک گزینه زیر را بر دارید
      Do not load models created with a newer version of Simulink

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

      شما می توانید از تیم مشاوران ایران متلب درخواست مشاوره و آموزش دهید.

    2. سلام
      ببخشید می خواستم این خطا رو در متلب حل کنم نمی دونم کجا مشکل داره ؟
      this statement (and possibly following ones) cannot be
      reached
      اگه میشه کمک کنید ؟

      1. سلام
        شما تابع سا برنامه ای نوشتید اما متلب وقتی وارد آن می شود، (به زبان ساده) راه خروجی را پیدا نمی کند.
        مثلا در تابع
        return
        بگذارید
        یا شرط خروج از حلقه با دستور
        break
        بگذارید.

  26. سلام
    اگه بخوام ورودیه curve fitting رو از طریق سورس به سیمولینک بدم باید چیکار کنم؟
    (ده تا نقطه توسط ورک اسپیس تحت عنوان دو متغیر به curve دادم)

    1. سلام
      در سیمولینک می توانید سورس های مختلفی تعریف کنید. به قسمت sink در کتابخانه سیمولینک بروید انواع مختلف ورودی را می بینید.

  27. سلام
    برنامه ای هست که درایه های یه ماتریس مربعی m*m رو، از کاربر دریافت میکنه .
    و این ماتریس، فقط شامل 0 و 1 هست و کاربر عددی بجز 0 و 1 وارد نمیکنه.
    اینجوری یه ماتریس متشکل از 0 و 1 ها خواهیم داشت.
    حالا میخوام مجموع درایه های هر سطر رو بدست بیارم و برای مجموع هر سطر، یه متغیر تعریف کنم .
    یعنی اگه کاربر یه ماتریس m*m داد، باید برنامه m تا متغیر تعریف کنه و مجموع درایه های اون mسطر رو در m تا متغیر بریزه و نمایش بده .
    سوال من اینه که چه کدی بنویسم که به تعداد m متغیر تعریف کنه و مجموع درایه های هر سطر رو در هریک از اون متغیرها بریزه؟

  28. سلام.
    من کد زیر رو میخوام اجرا کنم ولی چون مقدار اولیه H معلوم نیست ارور میده. چجوری میتونم به صورت پارامتری نمودار رد رسم کنم؟
    h(0)=H هسن.
    dt = 0.01
    t = 0:dt:1
    he = exp(t + log(H))
    plot(t,he,’b’,’linewidth’,2)
    hold on

    hf(1) = H
    for i=1:length(t)-1
    hf(i+1)=hf(i)+dt*(hf(i))
    end
    plot(t,hf,’r’,’linewidth’,2)

    title(‘h(t)’)
    xlabel(‘time’)
    ylabel(‘Height’)
    legend(‘Exact Solution’,’FDM Solution’)
    hold off

  29. سلام متن حدود 20 تا نا معادله دارم که همه به هم مرتبط هستن و غیر خطی اند و هرکدوم از مجهول هام هم یک ماتریس 2در 20 هست این رو با چه روشی باید حل کنم (احتمالا با حدس اولیه باید پیش برم ولی اصلا نمیدونم از کجا شروع کنم برای حلش) مجهولهام هم خیلی زیاده و حدود 10 تا مجهول که هرکدومش یک ماتریس 2 در 20 هست.

  30. سلام خسته نباشید
    من میخوام یه تابع بنویسم که وزن ها رو با روش مینی بچ اپدیت کنه
    صرف نظر از اینکه تابع فعال ساز و قانون یادگیری چیه
    میخوام بدونم حلقه for به چه شکله؟ مثلا اگر دسته هام دوتایی باشه و تعداد کل داده هام 10 حلقه رو چجوری باید بنویسم؟

  31. سلام و خسته نباشید.
    من مشکلی در مورد خروجی در نمایش یک ماتریس در متلب ئارم.
    مشکل من اینه که وقتی میخوام درایه های یک ماتریس رو ببینم که مثلا شامل شماره یک گره و محتصات اونه ، نتایج رو بصورت یک مضرب از ده در یک ماتریس نشون میده و حتی عدد شماره عضو رو که یک عدد طبیعی کامل است رو بصورت حاصل ضرب یک عدد اعشاری در یک مضرب از ده نشون میده که مورد نظر من نیست.
    مثلا عدد 1234 رو بصورت 0.01234 * 10e5 نشون میده.
    تمام قرمانهای مثل format , int ,units , vpa,floor رو هم امتحان کردم.
    میشه کمکم کنید؟خیلی ممنون
    مثا این پایین
    newcord =

    1.0e+003 *

    0.0010 0.0010 0.0010 0.0001 0.0001 0.0001

  32. سلام من میخوام تابعی به صورت
    y[n]=8*y[n-2] + x[n] در متلب بسازم تابع ایکس پله باشه و بعد تابع y رو پیدا کنم
    چطور باید این کار رو انجام بدم؟
    چون نمیتونم تابع y رو بر حسب n تعریف کنم
    تریجحا ی نمونه کد راهنمایی کنید

    1. سلام
      جواب شما مربوط به مهندسی کنترل می باشد و بخش تبدیل z .
      شما باید این معادله گسسته را ببرید در تبدیل z .
      در آنها y را به راحتی بدست آوردید و سپس برگردید به حالت نرمال.

  33. با سلام . من برای یک سری محاسبات ریاضی/ماتریسی کد طولانی متلب نوشتم . از لحاظ عملیات ریاضی کد مشکلی نداره.ولی وقتی ران می کنم بعد از گذشت 3-4 روز بدون نتیجه یا حتی پیام خطا تموم میشه و هیچ نتیجه ای نشون نمی ده . تا جای ممکن عملیات محاسباتی رو کوتاه تر کردم ، ولی متاسفانه همجنان به همین حالت هیچ جواب یا خطایی نشون نمیده و فقط تموم میشه. ممنون میشم اگر بتونید راهنمایی کتید .

    1. سلام
      تبریک میگم شما وارد دنیای برنامه نویسی کدهای طولانی شدید.
      راه های زیادی برای حل این مشکل وجود دارد:
      profiler
      یک ابزار متلب هست که نشان می دهد چه تابع هایی مدت زمان زیادی را از برنامه به خود اختصاص می دهند و شاید کمک کند نقطه درگیری کد را پیدا کنید.

      debugging
      هر برنامه نویسی باید نحوه دیباگ کردن کد را بلد باشد. در این راه حل شما در بخش های مختلف کد breakpoint می گذارید و آرام آرام کد را دنبال می کنید که ببینید داره چه کار میکنه. سپس می توانید متغییرهای هر قسمت را ببینید و متوجه شوید کد شما دارد راه درست را طی می کند.

      یکی از دلیل های طولانی شدن کد، حلقه های for و … هستند. گاهی کد دارد درست کار می کند اما شما اینقدر حلقه استفاده کردید که بنده خدا مجبوره دور خودش همینجور بگرده.

      یا ممکنه شما شرطی برای خروج از حلقه قرار دادید اما این شرط هیچ وقت رخ نمی دهد.

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

  34. سلام وقت بخیر من میخوام lp filter 10 رو اضافه کنم به سیمولینکم که میشه 2/0.5s + 1 ولی هر چی میگردم پیدا نمی کنم

  35. سلام وقت بخیر. من یک مدل دارم که تمام پارامتر هاش بر حسب روزه اما داخل مدل هیچ (t )ای وجود نداره. حالا با توجه به این که در سیمولینک زمان بر حسب ثانیه هست من این ثانیه رو چطور باید در نظر بگیرم؟ یعنی مثلا هر استپ سایز من که 0.01 تعریف شده نمایانگر یک روزه؟ یا هر ثانیه؟

    راهی هست که بتونم این زمان رو به روز تبدیل کنم ؟
    ممنونم

    1. ایران متلب

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

  36. سلام سوالی دارم روش حل رو تو متلب لطفا پاسخ دهید
    برای پیدا کردن مکان دوربین در فضای سه‌بعدی، از یک شیء L شکل بصورت زیر استفاده کرده‌ایم. این شیء را درکف اتاق قرار داده و توسط دوربین از آن عکس می‌گیریم. با در اختیار داشتن تصویر مایلیم موقعیت دوربین شامل بردار انتقال و دوران را در دستگاه مختصات اتاق بدست آوریم. فرض کنید با قرار دادن شیء L شکل در کف اتاق، دستگاه مختصات اتاق نیز تعیین شده بطوریکه، ضلع بلند L شکل محور X، ضلع کوتاه محور Y و محور Z نیز عمود بر این دو به سمت بالا است. برای تصاویر Im351 تا Im358 موقعیت دوربین در دستگاه مختصات اتاق را بدست آورید.

  37. سلام و درود 🙂
    چطوری میشه یه متن که توسط input داخل متلب تو خروجی چاپ میشه رو به صورت کلمه کلمه با فاصله 0.5 ثانیه تو خروجی چاپ کرد؟
    یعنی انگار یه انسان داره تایپ میکنه
    H a v e a g o o d d a y

    1. سلام
      بین هر نمایش کلمه در خروجی از دستور pause استفاده کنید و ورودی این دستور را 0.5 قرار بدهید.

      یا برای دقت بیشتر

      java.lang.Thread.sleep(duration*1000) % in mysec!

  38. باسلام و احترام به دوستان، من در حال مدلسازی با toolbox fuzzy متلب هستم اما بعد از هر بار که اجرا میکنم بجای اینکه از من ورودی بخواد، profiler رو اجرا میکنه، ممنون میشم علتش رو اگر کسی میدونه بگه؟

    1. با سلام
      profiler یک ابزاری در متلب هست که نشان می دهد تابع ها و کدها چقدر زمان را در مدت زمان کل اجرای برنامه ، به خود اختصاص داده اند.
      به احتمال زیاد، در کد متلب شما این دستور قرار داردکه باهر بار اجرا خروجی آن نمایش داده می شود.
      برای بررسی دقیقتر می توانید درخواست مشاوره آنلاین بدهید.

  39. سلام وقت بخیر
    من یک فایل سیمولینک دارم که حاوی دیود هست و powergui پیوسته دارد و یک شبکه ۱۳ باسه دارم که powergui در حالت فازور هستش و نمیتونم این دو فایل رو یکی کنم به علت powergui ها با حالت های متفاوت و حالت رو که عوض میکنم error دیود رو میگیره ممنون میشم راهنماییم کنید

    1. سلام
      به قول این برنامه های تلویزیونی، عجب سوال قشنگی کردید
      کلی خوشمان آمد
      راهنمای متلب می گه شما می توانید نوع شبیه سازی را به صورت phasor یا discrete phasor قرار بدهید. در این حالت در بلوک اندازه گیری جریان، current measurement شما می توانید نوع سیگنال خروجی را تنظیم کنید.
      اما اگر نوع شبیه سازی را continuous یا discrete قرار دهید، شما سیگنال خروجی را متناسب با زمان در خروجی می گیرید.
      لذا همانطور که متوجه شدید، نوع شبیه سازیها با هم متفاوت هست.
      به نظر من از شبیه سازی phasor استفاده نکنید و آن را هم پیوسته شبیه سازی تنظیم کنید تا بتوانید دو سیستم را به هم متصل کنید.

  40. سلام خسته نباشید
    سوالی داشتم
    میخاستم عملیات مورفولوژی (دایلیشن) رو درکد متلب انجام دهم. داده هایم عدد بزرگ هستند ازچه دستوری باید استفاده کنم؟ سپاس

    1. با سلام و تشکر از شما
      عملیات مرفولوژی در پردازش تصویر بر روی تصویر انجام می شود، یعنی اعداد بین صفر تا 255 می باشند و نوع آنها unsigned interger 8 bit می باشد. البته
      میتوان از مفهوم های آن برای اعداد بزرگتر هم استفاده کرد.
      به نظر من می توانید اعداد خود را بین 0 تا 255 نگاشت دهید یا نرمالیزه کنید و عملیات را انجام دهید و دوباره عکس نگاشت را انجام دهید.
      شاد باشید

    1. سلام
      بعد سوم تصویر را استخراج می کند
      یک ماتریس تمام صفر تولید می کند که دارای یک ستون است و دارای حالضرب تعداد سطر و ستون تصویر ورودی، سطر دارد.

    1. با سلام
      پسوند فایل dat، که یک فرمت عمومی است که می تواند حاوی هر اطلاعاتی باشد – ویدئو، صدا، PDF و تقریباً هر نوع فایل دیگری.
      لذا شما اول باید ببینید که داخل این فایل چه نوع داده ای هست و منبع تولید کننده آن چه چیزی بوده است.
      اگر مثلا برای خروجی یک سیگنال ژنراتور بوده است باید بروید کاتالوگ آن را بخوانید تا ببینید که سیگنال خروجی را با چه فرمتی ذخیره می کند. سپس این فایل ,dat را خیلی ساده در متلب بارگذاری کنید و بنا به فرمتی که مطالعه کردید، قسمت های دیتا را استخراج کنید و به صورت .mat ذخیره کنید.
      اگر فرمت یا پسوند معروف بود می توانید از تابع هایی برای این تبدیل استفاده کنید اما اگر نبود باید خودتون بسازید.

      رفع اشکال و آموزش آنلاین متلب

  41. با سلام و احترام
    میشه راهنمایی بفرمایید و بگید این فرمول رو چطور میتونم در محیط متلب بنویسم
    A^2)/(dA/dy*dF/dy-d(dF/dz)dy*A))

    1. با سلام
      نوشتن فرمول در متلب کار پیچیده ای نیست.
      اگر سوالتون نوشتن معادله دیفرانسیل هست. باید اول هدفتون از نوشتن معادله دیفرانسیل مشخص کنید. اگر می خواهید حلش کنید از دستور dsolve استفاده کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.