نمایش نتایج 1 تا 14 از 14

نام تاپیک: ساخت نرم افزاری برای رسم نمودار تابع

  1. #1
    کاربر دائمی آواتار ABZiko
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    مشهد
    پست
    860

    Arrow ساخت نرم افزاری برای رسم نمودار تابع

    سلام ، می خواستم بدونم چطور می شه همچین چیزی رو ساخت که یک تابع در یک Textbox وارد کنیم و از اون ور یک نمودار بهمون بده؟

  2. #2
    کاربر دائمی آواتار drsina
    تاریخ عضویت
    خرداد 1392
    محل زندگی
    Iran - Esf
    پست
    541

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع


  3. #3
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    پونک
    سن
    42
    پست
    490

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

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

    ولی دوستمون اینو نمی خواد! قرار نیست که واسه هر نموداری کد نوشته بشه!

    میخوان یه چیزی مثل MATLAB و یا Microsoft Student داشته باشن که Math Parser داشته باشه و از روی رشته ای که فرمول توس قرار داره عبارت ریاضی رو استخراج کنه. من کمی روش کار کردم و به نتایجی هم رسیدم اما هنوز کار زیاد داره. کار دشواریه.

    اگه فقط محاسبات عددی باشه و متغییر داخل رشته نباشه با روش RPN میشه نتیجه رو بدست آورد ولی وقتی عبارت داخل تکست باکس فرمول باشه به این راحتی نیست.

  4. #4
    کاربر دائمی آواتار ABZiko
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    مشهد
    پست
    860

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

    پس کلا سخته! درسته؟

  5. #5
    کاربر دائمی آواتار mohammad jamalian
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    تهران
    پست
    173

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

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

  6. #6

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

    دوستان اونقدر پیچیده نکنید. لازم نیست چرخ دوباره اختراع بشه
    با System.CodeDom.Compiler و Reflection می شه انجام داد هم در msdn و هم در stackoverflow یا جاهای دیگه هم نحوه استفاده ازش گذاشته شده
    این هم یک نمونه ساده:
    eval.zip


    CodeDomProvider provider =CodeDomProvider.CreateProvider("CSharp");
    CompilerParameters cp = new CompilerParameters();
    cp.GenerateExecutable = false;
    cp.IncludeDebugInformation = false;
    cp.ReferencedAssemblies.Add( "System.dll" );
    cp.GenerateInMemory = true;
    cp.WarningLevel = 3;
    cp.TreatWarningsAsErrors = false;
    cp.CompilerOptions = "/optimize";
    string source =
    @"using System;
    namespace ns{
    public class myclass{
    public myclass(){}
    public double myexp(double x){
    return " + textBox1.Text + @";
    }
    }
    }";

    var result = provider.CompileAssemblyFromSource(cp,source);
    if (result.Errors.Count > 0) {
    return null;
    }
    Assembly asm= result.CompiledAssembly;
    Type t =asm.GetType("ns.myclass");
    MethodInfo methodInfo = t.GetMethods()[0];
    object classInstance = Activator.CreateInstance(t, null);
    double min =-1.0 , max = 5.0;
    IEnumerable data = Enumerable.Range(0,300).Select(
    i => new {
    x = i*(max-min)/300.0+min,
    y = methodInfo.Invoke(classInstance, new object[]{i*(max - min) /300.0 + min})
    }
    ).ToArray();

    chart1.Series[0].Points.DataBind(data,"x","y",null);

  7. #7
    کاربر دائمی آواتار ABZiko
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    مشهد
    پست
    860

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

    ببخشید دوست عزیز، انی سورس فایل ها که قرار دادین ، باید کدوم فایل رو باز کنم، اگر می خوام توی ظاهرش یکم تغییرات بوجود بیارم؟

  8. #8

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

    فایل sln که در ویژوال باز میشه

  9. #9
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

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

    http://ncalc.codeplex.com/
    http://flee.codeplex.com/

    مثلا
    y=sin(x)
    رو در نظر بگیر:

    باید y رو برای x از x1 تا x2 بدست بیاری:

    مثلا
    x1=0
    x2=9

    مثال: باید این فاصله رو مثلا به 100 قسمت تقسیم کنی و برای هر x باید y رو بدست بیاری:

    x=x1;
    for i=0 to 99
    {
    x=x+i/100;
    y=calc("sin(x)");
    chart.add(x,y);
    }

  10. #10

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

    نیازی به مفسر نیست امکانات زبان سی شارپ این قابلیت را به ما می ده که با استفاده از reflection و System.CodeDom.Compiler بتونیم یک رشته را کامپایل کنیم که در پست 6 توضیح دادم

  11. #11
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    نیازی به مفسر نیست امکانات زبان سی شارپ این قابلیت را به ما می ده که با استفاده از reflection و System.CodeDom.Compiler بتونیم یک رشته را کامپایل کنیم که در پست 6 توضیح دادم
    اگر بخوایم یه برنامه رو بنویسیم میتونیم از کامپایلر داخل سی# استفاده کنیم
    ولی برای هر کاری اینطوری لازمه که یک برنامه بنویسیم

    ایشون میخواد در تکست باکس مثلا sin x رو وارد کنه و نمودارش رسم بشه

    این مثال ها رو ببینید (اگر بخواد خودش برنامه ای بنویسه که این توابع رو انجام بده خیلی سخت میشه):
    http://ncalc.codeplex.com/wikipage?t...ringTitle=Home

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

  12. #12

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

    نقل قول نوشته شده توسط golbafan مشاهده تاپیک
    اگر بخوایم یه برنامه رو بنویسیم میتونیم از کامپایلر داخل سی# استفاده کنیم
    ولی برای هر کاری اینطوری لازمه که یک برنامه بنویسیم

    ایشون میخواد در تکست باکس مثلا sin x رو وارد کنه و نمودارش رسم بشه


    این مثال ها رو ببینید (اگر بخواد خودش برنامه ای بنویسه که این توابع رو انجام بده خیلی سخت میشه):
    http://ncalc.codeplex.com/wikipage?t...ringTitle=Home
    فکر کنم پست 6 را کاملا مطالعه نکردید
    داخل پست 6 یک فایل زیپ گذاشتم
    کافیه فرمول را داخل تکست باکس بنویسیم تا نمودارش رسم بشه و این کار بدون هیچ مفسری انجام می شه

  13. #13
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع



    مطالعه کردم دوست عزیز
    ببین برای مثال عرض میکنم:
    داخل تکسباکس :
    1+Math.Cos(x)*7

    که این بنظر من جالب نیست. چون بهتر بود اینطوری باشه:
    1+cos(x)*7


    حالا فرض کن مثالها پیچیده تر بشن
    مثلا استفاده از توابعی که حتی در math موجود نباشه
    یا مثلا توابعی که کاربر بخواد تعریف کنه با پارامترهای خاص!

  14. #14

    نقل قول: ساخت نرم افزاری برای رسم نمودار تابع

    نقل قول نوشته شده توسط golbafan مشاهده تاپیک


    مطالعه کردم دوست عزیز
    ببین برای مثال عرض میکنم:
    داخل تکسباکس :
    1+Math.Cos(x)*7

    که این بنظر من جالب نیست. چون بهتر بود اینطوری باشه:
    1+cos(x)*7


    حالا فرض کن مثالها پیچیده تر بشن
    مثلا استفاده از توابعی که حتی در math موجود نباشه
    یا مثلا توابعی که کاربر بخواد تعریف کنه با پارامترهای خاص!
    مشکلی نداره. این فقط یک مثال ساده از امکانات سی شارپ بود تابع با پارامترهای خاص را هم به راحتی میشه داخل اون قرار داد اصلا میشه داخل تکست باکس به زبان سی شارپ برنامه نویسی کرد! دیگه چه از این بهتر

تاپیک های مشابه

  1. نرم افزار برای رسم نمودار های ssadm
    نوشته شده توسط mahdi68 در بخش تحلیل و طراحی نرم افزار
    پاسخ: 2
    آخرین پست: سه شنبه 15 دی 1388, 14:10 عصر
  2. معرفی نرم افزاری برای رسم نمودار ER؟؟؟؟
    نوشته شده توسط MajidAzadiYazdi در بخش تحلیل و طراحی نرم افزار
    پاسخ: 1
    آخرین پست: سه شنبه 10 شهریور 1388, 21:58 عصر
  3. معرفی نرم افزاری برای ساخت دکمه های سه بعدی و زیبا مثل ویستا
    نوشته شده توسط rainymbb در بخش برنامه نویسی در 6 VB
    پاسخ: 9
    آخرین پست: سه شنبه 02 مهر 1387, 22:07 عصر
  4. آیا نرم افزاری برای رسم DFDهست؟
    نوشته شده توسط hassan_kahrizy در بخش تحلیل و طراحی نرم افزار
    پاسخ: 7
    آخرین پست: چهارشنبه 21 تیر 1385, 13:18 عصر
  5. در خواست نرم افزاری برای ساخت setup
    نوشته شده توسط Mahmood_M در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: یک شنبه 23 بهمن 1384, 17:22 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •