اطلاعیه

Collapse
No announcement yet.

محاسبه ی خروجی جدید با تغییر ورودی ها در متلب

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    محاسبه ی خروجی جدید با تغییر ورودی ها در متلب

    سلام به همگی
    بچه ها تو کدنویسی متلب یه مشکل کوجولو دارم، اگه ممکنه کمکم کنین...
    برنامه ی من از این قراره که مثلا میخوام با دریافت مقدار m و a از کاربر مقدار f=m*a رو محاسبه کنم و تا زمانی که مقدار f کمتر از 100 نشد با دریافت دوباره ی مقادیر m و a از کاربر مقدار f رو محاسبه و نمایش بدم. برنامه رو اینطوری نوشتم:

    syms m a
    m=input('m:&#039
    a=input('a:&#039
    f=m*a;
    fprintf('calculated f is: %4.2f\n',f)
    while f>100
    m=input('m:&#039
    a=input('a:&#039
    fprintf('calculated f is: %4.2f\n',f)
    end
    اما مشکل اینجاست که مقدار f با دریافت ورودی های جدید دوباره محاسبه نمیشه همیشه همون مقدار اولیه رو نشون میده، بخاطر همین از حلقه ی while خارج نمیشه!!!
    راستش نمیخوام فرمول f=m*a رو دوباره تو حلقه بنویسم. چرا که بعضی مواقع فرمول من به سادگی f=m*a نیست و هر متغییرش خودش طی چند مرحله و از فرمل های جداگانه بدست میاد. نوشتن تمام این فرمول ها و محاسبا هم تو حلقه، عملا حجم برنامه رو زیاد میکنه. خواهشا راهنماییم کنین چیگار میتونم بکنم. استفاده از function ها میتنه کمکم کنه؟!! چطوری؟!!
    ممنون از راهنماییاتووووووون...

    #2
    پاسخ : محاسبه ی خروجی جدید با تغییر ورودی ها در متلب

    خودتون راه حل رو گفتین: استفاده از توابع.
    یک mfile جدید باز کنید و تابعتون رو در اون فایل بنویسید و ذخیره کنید. فرمت تابع به این صورته:
    کد PHP:
    function [output_variables_seperated_by_comma] = function_name (input_variables_sepereted_by_comma)

    % function 
    body
    % return output_variables
    end 


    مثلاً برای محاسبه f=m*a:

    کد PHP:
    function myformula (m,a)

    a;
    end 

    برای استفاده از این تابع هم خیلی ساده: ;(f= myformula(m,a
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

    دیدگاه


      #3
      پاسخ : محاسبه ی خروجی جدید با تغییر ورودی ها در متلب

      ممنون از راهنماییتون...
      پس با این حساب باید ی m-file دیگه رو تو m-file فعلیم فراخوانی کنم، درسته؟!!

      دیدگاه


        #4
        پاسخ : محاسبه ی خروجی جدید با تغییر ورودی ها در متلب

        نوشته اصلی توسط seraj_8008
        ممنون از راهنماییتون...
        پس با این حساب باید ی m-file دیگه رو تو m-file فعلیم فراخوانی کنم، درسته؟!!
        خواهش می کنم. (برای تشکر فقط از کلید تشکر استفاده کنید).
        بله دقیقاً.
        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
        لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
        با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
        اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
        يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

        دیدگاه

        لطفا صبر کنید...
        X