آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 8 از 8

موضوع: تابع رگرسیون داخل دلفی

  1. #1
    کاربر سایت arvindesign آواتار ها
    تاریخ عضویت
    November 2015
    نوشته ها
    4
    تشکر ها
    1
    تشکر شده 0 بار در 0 ارسال.

    تابع رگرسیون داخل دلفی

    سلام من میخوام تابع رگرسیون رو داخل دلفی بنویسم

    کد:
     
    [VB]Unit stat; 
    interface 
    {$IFOPT N+} 
      Type Real=double; 
    {$ENDIF} 
    Type StatObject=Object 
                      Procedure Clear; 
                      Procedure Insert(x,y:real); 
                      Function Cnt:Word; 
                      Function SX:Real; 
                      Function SX2:Real; 
                      Function MX:Real; 
                      Function SDX:Real; 
                      Function SDXN:Real; 
                      Function SY:Real; 
                      Function SY2:Real; 
                      Function MY:Real; 
                      Function SDY:Real; 
                      Function SDYN:Real; 
                      Function LRA:Real; 
                      Function LRB:Real;   
                      Function COR:Real; 
                      Private 
                      sumx,sumy:real; 
                      sumx2,sumy2:Real; 
                      SumXY:Real; 
                      n:word; 
                    End; 
    Implementation 
    Procedure StatObject.Clear; 
    Begin 
      sumx:=0; 
      sumy:=0; 
      sumx2:=0; 
      sumy2:=0; 
      SumXY:=0; 
      n:=0; 
    End; 
    Procedure StatObject.insert(x,y:real); 
    Begin 
      sumx:=sumx+x; 
      sumy:=sumy+y; 
      sumx2:=sumx2+sqr(x); 
      sumy2:=sumy2+sqr(y); 
      SumXY:=sumXY+x*y; 
      inc(n); 
    End; 
    Function StatObject.Cnt; Begin cnt:=n;     End; 
    Function StatObject.SX;  Begin SX:=SumX;   End; 
    Function StatObject.SX2; Begin SX2:=SumX2; End; 
    Function StatObject.SY;  Begin SY:=SumY;   End; 
    Function StatObject.SY2; Begin SY2:=SumY2; End; 
    Function StatObject.MX; 
    Begin 
     MX:=SumX/n  
    End; 
    Function StatObject.MY; 
    Begin 
    MY:=SumY/n 
    End; 
    Function StatObject.SDX; 
    Begin 
    SDX:=(SumX2-Sqr(sumx))/(n-1)  
    End; 
    Function StatObject.SDXN; 
    Begin 
    SDXN:=(SumX2-Sqr(sumx))/n 
    End; 
    Function StatObject.SDY; 
    Begin 
    SDY:=(SumY2-Sqr(sumy))/(n-1) 
    End; 
    Function StatObject.SDYN; 
    Begin 
    SDYN:=(Sumy2-Sqr(sumy))/n 
    End; 
    Function StatObject.Cor; 
    Begin 
    Cor:=(n*SumXY-Sumx*sumy)/Sqrt(((n*SumX2-sumx*sumx))*(n*sumy2-sumy*sumy)) 
    End; 
    Function StatObject.LRA; 
    Begin 
     lra:=MY-LRB*MX; 
    End; 
    Function StatObject.LRB; 
    Begin 
    lrb:=(n*Sumxy-sumx*sumy)/(n*sumx2-sumx*sumx) 
    End; 
    end.
    این کد تابع رگرسیون تو دلفی مشکل من اینکه الان باید x و y رو از درون دیبیگرید بخونه ک کدش مشابهشو با سرچ کردن پیدا کردم که کد جمع کنندس


    کد:
    function SUMSomething: Float;
    var
      i: Integer;
      Sum: Currency;
    begin
      Sum := 0;
      for i := 1 to DBGrid1.SelectedRows.Count do
       begin
        Table1.GotoBookMark
          (Pointer(DBGrid1.SelectedRows.Items[i-1])) ;
        {
         The TDBGrid component keeps all the
         selections as Bookmarks in a
         TStringList, and all the Bookmarks
         must be converted to a Pointer
         (what they really are) before using it.
    
    
    
    
        }
         Sum := Sum +
                Table1.FieldByName('AField').AsFloat;
       end;
      Result := Sum;
    end;
    سوالم اینه چطور اینارو باهم ادغام کنم وقتی کلیک کردم روی دکمم دیتا ها رو بخونه از دیتا بیس عملیات رگرسیون رو انجام بده و مقدار رو بهم برگردونه

    یک راه دیگم داره من این تابع رو داخل اسکیوال با کوئری نوشتم حالا راهی باشه بتونم اون کوئری رو داخل برنامم بخونمش
    کد:
    create function gheimata(@z int)
    returns float as
    begin
    declare @s1 float,@s2 float,@s3 float,
    @s4 float,@s5 float,@a float,@b float,@j float,@n float
    select @s1=SUM(x*y),@s2=SUM(x),@s3=SUM(y),@s4=SUM(x*x)
    ,@s5=(SUM(x)*SUM(x))from tbl1
    set @n=(select COUNT(*) from tbl1)
    set @b=((@n*@s1)-@s2*@s3)/((@n*@s4)-@s5)
    set @a=((select AVG(y)from tbl1)-(select AVG(x)from tbl1)*@b)
    set @j=(@a+(@b*@z))
    return @j
    end
    اینم کوئری ممنون میشم پاسخ بدید <3

  2. #2
    کاربر سایت arvindesign آواتار ها
    تاریخ عضویت
    November 2015
    نوشته ها
    4
    تشکر ها
    1
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تابع رگرسیون داخل دلفی

    یعنی یک نفرم نبود یک توضیح کوتاه بده

  3. #3
    مدیر انجمن meyti آواتار ها
    تاریخ عضویت
    August 2013
    نوشته ها
    143
    تشکر ها
    134
    تشکر شده 78 بار در 55 ارسال.

    پاسخ : تابع رگرسیون داخل دلفی

    سلام
    من از تابعی که گفتید سردر نمیارم . چیزی که تاپیک شما فهمیدم اینه دو تا عدد رو میخواهید بفرستید به یه تابع و جواب بگیرید .
    حالا کی اینکار باید انجام بشه و نتیجه هم باید ذخیره بشه یا فقط برای نمایشه .
    در مورد بدست آوردن اعداد . به دیبی گرید کاری نداشته باشید و از خود جدول واکشی کنید . هر دیبی گرید بالاخره به یه جدول وصله :
    کد:
    x:=table1[field1];
    y:=table1[field2];

  4. کاربر مقابل از meyti عزیز به خاطر این پست مفید تشکر کرده است:

    arvindesign (08 / December / 2015)

  5. #4
    کاربر سایت arvindesign آواتار ها
    تاریخ عضویت
    November 2015
    نوشته ها
    4
    تشکر ها
    1
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تابع رگرسیون داخل دلفی

    یک عدد رو میخوام بفرستم در اون تابع
    بعد با ایکس و وایهام ضرب بشه
    ولی اینی ک شما نوشتین ک ارایه نیست ایکس باید به صورت ارایه باشه ایکس های من یک سری عدد هستن فقط یک عدد نیست

  6. #5
    مدیر انجمن meyti آواتار ها
    تاریخ عضویت
    August 2013
    نوشته ها
    143
    تشکر ها
    134
    تشکر شده 78 بار در 55 ارسال.

    پاسخ : تابع رگرسیون داخل دلفی

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

  7. #6
    مدیر انجمن meyti آواتار ها
    تاریخ عضویت
    August 2013
    نوشته ها
    143
    تشکر ها
    134
    تشکر شده 78 بار در 55 ارسال.

    پاسخ : تابع رگرسیون داخل دلفی

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

  8. #7
    کاربر سایت arvindesign آواتار ها
    تاریخ عضویت
    November 2015
    نوشته ها
    4
    تشکر ها
    1
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تابع رگرسیون داخل دلفی

    بانک اطلاعاتی من مثلا به صورت زیره
    sal car
    50 0
    40 -1
    30 -2
    20 -3
    بعد من باید بیام اول مجموع این سال رو بدست بیارم ک میشه -6 بعد مجموع ماشین رو هم دربیارم ک مثلا میشه 140 بعد این -6 رو به توان دو برسونم ( در خودش ضرب کنم ) بعد دونه دونه مثلا 0در پنجاه -1 در 40 و -2 در سی ضرب بشه و مجموعش ک یک عدده رو به من بده امیدوارم درست توضیح داده باشم
    تمام سال ها رو تو یک ارایه x بریزه تمام ماشین ها رو تو y بریزه بعد در هم ضرب کنه

  9. #8
    مدیر انجمن meyti آواتار ها
    تاریخ عضویت
    August 2013
    نوشته ها
    143
    تشکر ها
    134
    تشکر شده 78 بار در 55 ارسال.

    پاسخ : تابع رگرسیون داخل دلفی

    لطفا فایل بانک اطلاعاتی رو اینجا قرار بدین تا کمی قضیه روشن تر بشه .
    من میخوام اینو بدونم که اعدادی که مورد نظر هستند در یک سطر از بانک قرار دارند ؟ چطوری ذخیره شدن ؟

    تعداد اعداد متغیره هر بار ؟ یا یه تعداد مشخصه ؟ مثلا همیشه 4 تا عدد بررسی میشن ؟

موضوعات مشابه

  1. نرم افزار اتوماسیون آرشیو فایل راهنمای دلفی
    توسط ali3d در انجمن برنامه نویسی دسکتاپ در دلفی
    پاسخ: 1
    آخرين نوشته: 16 / February / 1970, 11:36 AM

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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